工具:update_release_config
更新现有的 Dataform 发布配置,该配置可作为自动代码编译的模板。
对 git_commitish 等字段的更新会改变未来编译结果的生成方式,但不会追溯性地更改现有的 CompilationResult 资源。
更新 Google 托管的代码库时,请省略 release_config.cron_schedule 参数值。如需进行验证,请使用 get_repository 工具。如果缺少 git_remote_settings 字段,则表示代码库由 Google 托管。如需安排流水线,请使用 create_workflow_config 或 update_workflow_config 工具设置或更新时间表。
name 参数值必须采用 projects/{project_id}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config} 格式。
以下代码示例展示了如何使用 curl 调用 update_release_config 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": "update_release_config", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
UpdateReleaseConfig 请求消息。
UpdateReleaseConfigRequest
| JSON 表示法 |
|---|
{
"updateMask": string,
"releaseConfig": {
object ( |
| 字段 | |
|---|---|
updateMask |
可选。指定发布配置中要更新的字段。如果未设置,系统会更新所有字段。 这是完全限���字段名称的逗号分隔列表。示例: |
releaseConfig |
必需。要更新的发布配置。 |
FieldMask
| JSON 表示法 |
|---|
{ "paths": [ string ] } |
| 字段 | |
|---|---|
paths[] |
一组字段掩码路径。 |
ReleaseConfig
| JSON 表示法 |
|---|
{ "name": string, "gitCommitish": string, "codeCompilationConfig": { object ( |
| 字段 | |
|---|---|
name |
标识符。发布版本配置的名称。 |
gitCommitish |
必需。应编译代码库的 Git 提交/标记/分支名称。必须存在于远程代码库中。示例:- 提交 SHA: |
codeCompilationConfig |
可选。如果设置了 |
cronSchedule |
可选。用于自动创建合集结果的可选时间表(采用 cron 格式)。 |
timeZone |
可选。指定在解读 cron_schedule 时要使用的时区。必须是时区数据库中的时区名称。如果未指定,则默认值为 |
recentScheduledReleaseRecords[] |
仅限输出。最近 10 次预定发布尝试的记录,按 |
releaseCompilationResult |
可选。相应发布配置的当前已发布编译结果的名称。当系统根据此发布配置(使用 cron_schedule)自动创建编译结果时,或者当通过 API 调用更新此资源时(可能是为了回滚到之前的版本),系统会更新此���。编译结果必须是使用此版本配置创建的。必须采用 |
disabled |
可选。停用自动创建编译结果的功能。 |
联合字段
|
|
internalMetadata |
仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。 |
CodeCompilationConfig
| JSON 表示法 |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| 字段 | |
|---|---|
defaultDatabase |
可选。默认数据库(Google Cloud 项目 ID)。 |
defaultSchema |
可选。默认架构(BigQuery 数据集 ID)。 |
defaultLocation |
可选。要使用的默认 BigQuery 位置。默认值为“US”。如需查看位置的完整列表,请参阅 BigQuery 文档:https://cloud.google.com/bigquery/docs/locations。 |
assertionSchema |
可选。断言的默认架构(BigQuery 数据集 ID)。 |
vars |
可选。在编译期间可供项目代码使用的用户定义变量。 包含一系列 |
databaseSuffix |
可选。应附加到所有数据库(Google Cloud 项目 ID)名称的后缀。 |
schemaSuffix |
可选。应附加到所有架构(BigQuery 数据集 ID)名称的后缀。 |
tablePrefix |
可选。应附加到所有表名称的前缀。 |
builtinAssertionNamePrefix |
可选。要附加到内置断言名称的前缀。 |
defaultNotebookRuntimeOptions |
可选。默认笔记本运行时选项。 |
pipelineConfig |
可选。用于定义流水线类型和 Git 代码库中路径的流水线选项。 |
VarsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| JSON 表示法 |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| 字段 | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
可选。Colab 运行时模板的资源名称,运行时是从该模板创建的,用于执行笔记本。如果未指定,系统会使用 Colab 的默认规范创建运行时。 |
联合字段 execution_sink。用于存储笔记本执行结果的位置。execution_sink 只能是下列其中一项: |
|
gcsOutputBucket |
可选。用于上传结果的 Google Cloud Storage 位置。格式: |
联合字段 repository_snapshot_storage。代码库文件快照的目标位置(可在笔记本运行时 repository_snapshot_storage 内以只读方式访问)只能是下列其中一项: |
|
gcsRepositorySnapshotDestination |
可选。要将快照上传到的 Google Cloud Storage 目标位置。对于空 URI,它会默认使用提供的 gcs_output_bucket。格式: |
GcsRepositorySnapshotDestination
| JSON 表示法 |
|---|
{ "repositorySnapshotUri": string } |
| 字段 | |
|---|---|
repositorySnapshotUri |
可选。用于上传代码库快照的 Google Cloud Storage 目标位置。格式: |
PipelineConfig
| JSON 表示法 |
|---|
{
"pipelineType": enum ( |
| 字段 | |
|---|---|
pipelineType |
必需。流水线的类型。 |
path |
必需。Git 代码库中定义流水线的相对路径。例如,对于 Dataform 流水线,它是 |
ScheduledReleaseRecord
| JSON 表示法 |
|---|
{ "releaseTime": string, // Union field |
| 字段 | |
|---|---|
releaseTime |
仅限输出。相应发布尝试的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
联合字段 result。相应发布尝试的结果。result 只能是下列其中一项: |
|
compilationResult |
已创建的编译结果的名称(如果已成功创建)。必须采用 |
errorStatus |
尝试创建编译结果时遇到的错误状态(如果尝试失败)。 |
状态
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |
不限
| JSON 表示法 |
|---|
{ "typeUrl": string, "value": string } |
| 字段 | |
|---|---|
typeUrl |
通过 URI 引用(由以斜杠结尾的前缀和完全限定的类型名称组成)标识序列化 Protobuf 消息的类型。 示例:type.googleapis.com/google.protobuf.StringValue 此字符串必须包含至少一个 前缀是任意的,Protobuf 实现应仅剥离最后一个 所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号): 在 |
value |
包含由 type_url 描述的类型的 Protobuf 序列化。 使用 base64 编码的字符串。 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
PipelineType
流水线的类型。未来可能会延长。如果为 UNSPECIFIED,则会抛出错误。
| 枚举 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
默认值。此值未使用。 |
DATAFORM |
常规 Dataform 流水线。 |
SQL |
SQL 单个文件资产。 |
NOTEBOOK |
笔记本单一文件资产。 |
输出架构
表示 Dataform 版本配置。
ReleaseConfig
| JSON 表示法 |
|---|
{ "name": string, "gitCommitish": string, "codeCompilationConfig": { object ( |
| 字段 | |
|---|---|
name |
标识符。发布版本配置的名称。 |
gitCommitish |
必需。应编译代码库的 Git 提交/标记/分支名称。必须存在于远程代码库中。示例:- 提交 SHA: |
codeCompilationConfig |
可选。如果设置了 |
cronSchedule |
可选。用于自动创建合集结果的可选时间表(采用 cron 格式)。 |
timeZone |
可选。指定在解读 cron_schedule 时要使用的时区。必须是时区数据库中的时区名称。如果未指定,则默认值为 |
recentScheduledReleaseRecords[] |
仅限输出。最近 10 次预定发布尝试的记录,按 |
releaseCompilationResult |
可选。相应发布配置的当前已发布编译结果的名称。当系统根据此发布配置(使用 cron_schedule)自动创建编译结果时,或者当通过 API 调用更新此资源时(可能是为了回滚到之前的版本),系统会更新此值。编译结果必须是使用此版本配置创建的。必须采用 |
disabled |
可选。停用自动创建编译结果的功能。 |
联合字段
|
|
internalMetadata |
仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。 |
CodeCompilationConfig
| JSON 表示法 |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| 字段 | |
|---|---|
defaultDatabase |
可选。默认数据库(Google Cloud 项目 ID)。 |
defaultSchema |
可选。默认架构(BigQuery 数据集 ID)。 |
defaultLocation |
可选。要使用的默认 BigQuery 位置。默认值为“US”。如需查看位置的完整列表,请参阅 BigQuery 文档:https://cloud.google.com/bigquery/docs/locations。 |
assertionSchema |
可选。断言的默认架构(BigQuery 数据集 ID)。 |
vars |
可选。在编译期间可供项目代码使用的用户定义变量。 包含一系列 |
databaseSuffix |
可选。应附加到所有数据库(Google Cloud 项目 ID)名称的后缀。 |
schemaSuffix |
可选。应附加到所有架构(BigQuery 数据集 ID)名称的后缀。 |
tablePrefix |
可选。应附加到所有表名称的前缀。 |
builtinAssertionNamePrefix |
可选。要附加到内置断言名称的前缀。 |
defaultNotebookRuntimeOptions |
可选。默认笔记本运行时选项。 |
pipelineConfig |
可选。用于定义流水线类型和 Git 代码库中路径的流水线选项。 |
VarsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| JSON 表示法 |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| 字段 | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
可选。Colab 运行时模板的资源名称,运行时是从该模板创建的,用于执行笔记本。如果未指定,系统会使用 Colab 的默认规范创建运行时。 |
联合字段 execution_sink。用于存储笔记本执行结果的位置。execution_sink 只能是下列其中一项: |
|
gcsOutputBucket |
可选。用于上传结果的 Google Cloud Storage 位置。格式: |
联合字段 repository_snapshot_storage。代码库文件快照的目标位置(可在笔记本运行时 repository_snapshot_storage 内以只读方式访问)只能是下列其中一项: |
|
gcsRepositorySnapshotDestination |
可选。要将快照上传到的 Google Cloud Storage 目标位置。对于空 URI,它会默认使用提供的 gcs_output_bucket。格式: |
GcsRepositorySnapshotDestination
| JSON 表示法 |
|---|
{ "repositorySnapshotUri": string } |
| 字段 | |
|---|---|
repositorySnapshotUri |
可选。用于上传代码库快照的 Google Cloud Storage 目标位置。格式: |
PipelineConfig
| JSON 表示法 |
|---|
{
"pipelineType": enum ( |
| 字段 | |
|---|---|
pipelineType |
必需。流水线的类型。 |
path |
必需。Git 代码库中定义流水线的相对路径。例如,对于 Dataform 流水线,它是 |
ScheduledReleaseRecord
| JSON 表示法 |
|---|
{ "releaseTime": string, // Union field |
| 字段 | |
|---|---|
releaseTime |
仅限输出。相应发布尝试的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
联合字段 result。相应发布尝试的结果。result 只能是下列其中一项: |
|
compilationResult |
已创建的编译结果的名称(如果已成功创建)。必须采用 |
errorStatus |
尝试创建编译结果时遇到的错误状态(如果尝试失败)。 |
状态
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |
不限
| JSON 表示法 |
|---|
{ "typeUrl": string, "value": string } |
| 字段 | |
|---|---|
typeUrl |
通过 URI 引用(由以斜杠结尾的前缀和完全限定的类型名称组成)标识序列化 Protobuf 消息的类型。 示例:type.googleapis.com/google.protobuf.StringValue 此字符串必须包含至少一个 前缀是任意的,Protobuf 实现应仅剥离最后一个 所有类型网址字符串都必���是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号): 在 |
value |
包含由 type_url 描述的类型的 Protobuf 序列化。 使用 base64 编码的字符串。 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
PipelineType
流水线的类型。未来可能会延长。如果为 UNSPECIFIED,则会抛出错误。
| 枚举 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
默认值。此值未使用。 |
DATAFORM |
常规 Dataform 流水线。 |
SQL |
SQL 单个文件资产。 |
NOTEBOOK |
笔记本单一文件资产。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。
破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌