MCP Tools Reference: dataform.googleapis.com

工具:get_compilation_result

提取单个 Dataform 编译结果。

name 参数值必须采用 projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result} 格式。

以下代码示例展示了如何使用 curl 调用 get_compilation_result MCP 工具。

Curl 请求
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_compilation_result",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

GetCompilationResult 请求消息。

GetCompilationResultRequest

JSON 表示法
{
  "name": string
}
字段
name

string

必需。编译结果的名称。

输出架构

表示编译 Dataform 项目的结果。

CompilationResult

JSON 表示法
{
  "name": string,
  "codeCompilationConfig": {
    object (CodeCompilationConfig)
  },
  "resolvedGitCommitSha": string,
  "dataformCoreVersion": string,
  "compilationErrors": [
    {
      object (CompilationError)
    }
  ],
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "createTime": string,
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "gcsRepositorySnapshotMetadata": {
    object (GcsRepositorySnapshotMetadata)
  },

  // Union field source can be only one of the following:
  "gitCommitish": string,
  "workspace": string,
  "releaseConfig": string
  // End of list of possible types for union field source.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
字段
name

string

仅限输出。编译结果的名称。

codeCompilationConfig

object (CodeCompilationConfig)

不可变。如果设置了 code_compilation_config,则其字段会替换 dataform.json 中指定的默认编译设置。

resolvedGitCommitSha

string

仅限输出。已编译代码的完全解析的 Git 提交 SHA。未针对来源为工作区的编译结果进行设置。

dataformCoreVersion

string

仅限输出。用于编译的 @dataform/core 版本。

compilationErrors[]

object (CompilationError)

仅限输出。项目编译期间遇到的错误。

dataEncryptionState

object (DataEncryptionState)

仅限输出。仅当代码库具有 KMS 密钥时才设置。

createTime

string (Timestamp format)

仅限输出。编译结果的创建时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

privateResourceMetadata

object (PrivateResourceMetadata)

仅限输出。表示相应资源是否为用户级范围的元数据。CompilationResult 资源只有在源自工作区时才为 user_scoped。

gcsRepositorySnapshotMetadata

object (GcsRepositorySnapshotMetadata)

仅限输出。有关由已安排的笔记本使用的代码库快照的元数据。

联合字段 source。编译结果的来源。source 只能是下列其中一项:
gitCommitish

string

不可变。应编译代码库的 Git 提交/标记/分支名称。必须存在于远程代码库中。示例:- 提交 SHA:12ade345 - 标记:tag1 - 分支名称:branch1

workspace

string

不可变。要编译的工作区的名称。必须采用 projects/*/locations/*/repositories/*/workspaces/* 格式。

releaseConfig

string

不可变。要编译的发布配置的名称。必须采用 projects/*/locations/*/repositories/*/releaseConfigs/* 格式。

联合字段 _internal_metadata。

_internal_metadata 只能是下列其中一项:

internalMetadata

string

仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。

CodeCompilationConfig

JSON 表示法
{
  "defaultDatabase": string,
  "defaultSchema": string,
  "defaultLocation": string,
  "assertionSchema": string,
  "vars": {
    string: string,
    ...
  },
  "databaseSuffix": string,
  "schemaSuffix": string,
  "tablePrefix": string,
  "builtinAssertionNamePrefix": string,
  "defaultNotebookRuntimeOptions": {
    object (NotebookRuntimeOptions)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  }
}
字段
defaultDatabase

string

可选。默认数据库(Google Cloud 项目 ID)。

defaultSchema

string

可选。默认架构(BigQuery 数据集 ID)。

defaultLocation

string

可选。要使用的默认 BigQuery 位置。默认值为“US”。如需查看位置的完整列表,请参阅 BigQuery 文档:https://cloud.google.com/bigquery/docs/locations。

assertionSchema

string

可选。断言的默认架构(BigQuery 数据集 ID)。

vars

map (key: string, value: string)

可选。在编译期间可供项目代码使用的用户定义变量。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

databaseSuffix

string

可选。应附加到所有数据库(Google Cloud 项目 ID)名称的后缀。

schemaSuffix

string

可选。应附加到所有架构(BigQuery 数据集 ID)名称的后缀。

tablePrefix

string

可选。应附加到所有表名称的前缀。

builtinAssertionNamePrefix

string

可选。要附加到内置断言名称的前缀。

defaultNotebookRuntimeOptions

object (NotebookRuntimeOptions)

可选。默认笔记本运行时选项。

pipelineConfig

object (PipelineConfig)

可选。用于定义流水线类型和 Git 代码库中路径的流水线选项。

VarsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

NotebookRuntimeOptions

JSON 表示法
{
  "aiPlatformNotebookRuntimeTemplate": string,

  // Union field execution_sink can be only one of the following:
  "gcsOutputBucket": string
  // End of list of possible types for union field execution_sink.

  // Union field repository_snapshot_storage can be only one of the following:
  "gcsRepositorySnapshotDestination": {
    object (GcsRepositorySnapshotDestination)
  }
  // End of list of possible types for union field repository_snapshot_storage.
}
字段
aiPlatformNotebookRuntimeTemplate

string

可选。Colab 运行时模板的资源名称,运行时是从该模板创建的,用于执行笔记本。如果未指定,系统会使用 Colab 的默认规范创建运行时。

联合字段 execution_sink。用于存储笔记本执行结果的位置。execution_sink 只能是下列其中一项:
gcsOutputBucket

string

可选。用于上传结果的 Google Cloud Storage 位置。格式:gs://bucket-name。

联合字段 repository_snapshot_storage。代码库文件快照的目标位置(可在笔记本运行时 repository_snapshot_storage 内以只读方式访问)只能是下列其中一项:
gcsRepositorySnapshotDestination

object (GcsRepositorySnapshotDestination)

可选。要将快照上传到的 Google Cloud Storage 目标位置。对于空 URI,它会默认使用提供的 gcs_output_bucket。格式:gs://bucket-name/path/。

GcsRepositorySnapshotDestination

JSON 表示法
{
  "repositorySnapshotUri": string
}
字段
repositorySnapshotUri

string

可选。用于上传代码库快照的 Google Cloud Storage 目标位置。格式:gs://bucket-name/path/。

PipelineConfig

JSON 表示法
{
  "pipelineType": enum (PipelineType),
  "path": string
}
字段
pipelineType

enum (PipelineType)

必需。流水线的类型。

path

string

必需。Git 代码库中定义流水线的相对路径。例如,对于 Dataform 流水线,它是 workflow_settings.yaml 或 dataform.json 所在的文件夹的路径。

CompilationError

JSON 表示法
{
  "message": string,
  "stack": string,
  "path": string,
  "actionTarget": {
    object (Target)
  }
}
字段
message

string

仅限输出。错误的顶级消息。

stack

string

仅限输出。错误的完整堆栈轨迹。

path

string

仅限输出。发生此错误的文件(如果有)的路径(相对于项目根目录)。

actionTarget

object (Target)

仅限输出。发生相应错误的 action 的标识符(如果有)。

目标

JSON 表示法
{
  "database": string,
  "schema": string,
  "name": string
}
字段
database

string

可选。操作的数据库(Google Cloud 项目 ID)。

schema

string

可选。database 内操作的架构(BigQuery 数据集 ID)。

name

string

可选。操作的名称,位于 database 和 schema 内。

DataEncryptionState

JSON 表示法
{
  "kmsKeyVersionName": string
}
字段
kmsKeyVersionName

string

必需。用于加密资源数据的 KMS 密钥版本名称。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

PrivateResourceMetadata

JSON 表示法
{
  "userScoped": boolean
}
字段
userScoped

boolean

仅限输出。如果为 true,则表示相应资源是用户级范围的,即属于工作区或源自工作区。

GcsRepositorySnapshotMetadata

JSON 表示法
{
  "repositorySnapshotUri": string,
  "crc32cChecksum": string,
  "generation": string
}
字段
repositorySnapshotUri

string

仅限输出。代码库快照的 Google Cloud Storage URI。

crc32cChecksum

string

仅限输出。仓库快照的 crc32c 校验和,以大端序 base64 编码。

generation

string (int64 format)

仅限输出。Cloud Storage 对象的世代编号。请参阅 https://cloud.google.com/storage/docs/metadata#generation-number。

PipelineType

流水线的类型。未来可能会延长。如果为 UNSPECIFIED,则会抛出错误。

枚举
PIPELINE_TYPE_UNSPECIFIED 默认值。此值未使用。
DATAFORM 常规 Dataform 流水线。
SQL SQL 单个文件资产。
NOTEBOOK 笔记本单一文件资产。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌