MCP Tools Reference: dataform.googleapis.com

工具:get_workflow_config

提取单个 Dataform 工作流配置。

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

以下代码示例展示了如何使用 curl 调用 get_workflow_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": "get_workflow_config",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

GetWorkflowConfig 请求消息。

GetWorkflowConfigRequest

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

string

必需。工作流配置的名称。

输出架构

表示 Dataform 工作流配置。

WorkflowConfig

JSON 表示法
{
  "name": string,
  "releaseConfig": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "cronSchedule": string,
  "timeZone": string,
  "recentScheduledExecutionRecords": [
    {
      object (ScheduledExecutionRecord)
    }
  ],
  "disabled": boolean,
  "createTime": string,
  "updateTime": string,
  "workflowTriggerConfig": {
    object (WorkflowTriggerConfig)
  },

  // 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

标识符。工作流配置的名称。

releaseConfig

string

必需。要执行其 release_compilation_result 的发布配置的名称。必须采用 projects/*/locations/*/repositories/*/releaseConfigs/* 格式。

invocationConfig

object (InvocationConfig)

可选。如果未设置,系统将使用默认的 InvocationConfig。

cronSchedule

string

可选。用于自动执行相应工作流配置的可选时间表(采用 cron 格式)。

timeZone

string

可选。指定在解读 cron_schedule 时要使用的时区。必须是时区数据库中的时区名称。如果未指定,则默认值为 UTC。

recentScheduledExecutionRecords[]

object (ScheduledExecutionRecord)

仅限输出。最近 10 次预定执行尝试的记录,按 execution_time 降序排列。每当 cron_schedule 触发工作流调用的自动创建时,就会更新。

disabled

boolean

可选。停用工作流调用的自动创建功能。

createTime

string (Timestamp format)

仅限输出。创建 WorkflowConfig 时的时间戳。

采用 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"。

updateTime

string (Timestamp format)

仅限输出。上次更新 WorkflowConfig 时的时间戳。

采用 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"。

workflowTriggerConfig

object (WorkflowTriggerConfig)

可选。相应工作流的触发器配置。如果存在,工作流将根据指定的触发器触发。

联合字段 _internal_metadata。

_internal_metadata 只能是下列其中一项:

internalMetadata

string

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

InvocationConfig

JSON 表示法
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
字段
includedTargets[]

object (Target)

可选。要包含的一组操作标识符。

includedTags[]

string

可选。要包含的标记集。

transitiveDependenciesIncluded

boolean

可选。如果设置为 true,则会执行所含操作的传递依赖项。

transitiveDependentsIncluded

boolean

可选。如果设置为 true,则会执行所含操作的传递从属项。

fullyRefreshIncrementalTablesEnabled

boolean

可选。如果设置为 true,则任何增量表都将完全刷新。

serviceAccount

string

可选。用于运行工作流调用的服务账号。

联合字段 _query_priority。

_query_priority 只能是下列其中一项:

queryPriority

enum (QueryPriority)

可选。指定 BigQuery 中查询执行的优先级。如需了解详情,请访问 https://cloud.google.com/bigquery/docs/running-queries#queries。

目标

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

string

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

schema

string

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

name

string

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

ScheduledExecutionRecord

JSON 表示法
{
  "executionTime": string,

  // Union field result can be only one of the following:
  "workflowInvocation": string,
  "errorStatus": {
    object (Status)
  }
  // End of list of possible types for union field result.
}
字段
executionTime

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"。

联合字段 result。相应执行尝试的结果。result 只能是下列其中一项:
workflowInvocation

string

已创建的工作流调用的名称(如果已成功创建)。必须采用 projects/*/locations/*/repositories/*/workflowInvocations/* 格式。

errorStatus

object (Status)

尝试创建工作流调用时遇到的错误状态(如果尝试失败)。

状态

JSON 表示法
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
字段
code

integer

状态代码,应为 google.rpc.Code 的枚举值。

message

string

面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 google.rpc.Status.details 字段发送,或者由客户端进行本地化。

details[]

object

包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。

可以包含任意类型字段的对象。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }。

不限

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

string

通过 URI 引用(由以斜杠结尾的前缀和完全限定的类型名称组成)标识序列化 Protobuf 消息的类型。

示例:type.googleapis.com/google.protobuf.StringValue

此字符串必须包含至少一个 / 字符,并且最后一个 / 后面的内容必须是规范形式的完全限定名,不含前导点。请勿在这些 URI 引用中写入方案,以免客户端尝试联系它们。

前缀是任意的,Protobuf 实现应仅剥离最后一个 / 之前(包括最后一个 /)的所有内容,以识别类型。type.googleapis.com/ 是某些旧版实现所需的常见默认前缀。此前缀并不表示类型的来源,包含该前缀的 URI 不应响应任何请求。

所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号):/-.~_!$&()*+,;=。尽管我们允许百分比编码,但实现不应对其进行转义,以免与现有解析器混淆。例如,应拒绝 type.googleapis.com%2FFoo。

在 Any 的原始设计中,曾考虑过在这些类型网址上启动类型解析服务的可能性,但 Protobuf 从未实现过此类服务,并且认为联系这些网址存在问题,可能会导致安全问题。不尝试联系人类型网址。

value

string (bytes format)

包含由 type_url 描述的类型的 Protobuf 序列化。

使用 base64 编码的字符串。

时间戳

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 之间(含边界值)。

WorkflowTriggerConfig

JSON 表示法
{
  "condition": enum (Condition),
  "workflowTriggers": [
    {
      object (WorkflowTrigger)
    }
  ],
  "minExecutionDuration": string,
  "maxWaitDuration": string,
  "recentTriggerEvaluationRecords": [
    {
      object (TriggerEvaluationRecord)
    }
  ],
  "lastSuccessfulEvaluationTime": string
}
字段
condition

enum (Condition)

可选。触发工作流时要使用的条件。

workflowTriggers[]

object (WorkflowTrigger)

必需。用于调用工作流的触发器定义。

minExecutionDuration

string (Duration format)

可选。两次连续执行之间的最短时长。如果未指定,则每次满足触发条件且没有正在进行的工作流执行时,系统都会执行工作流。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"。

maxWaitDuration

string (Duration format)

可选。满足触发条件所需的有效最长等待时间。如果未指定,则工作流不会触发,直到满足条件为止。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"。

recentTriggerEvaluationRecords[]

object (TriggerEvaluationRecord)

仅限输出。最近 10 次触发评估的记录,按 evaluation_time 降序排列。每当服务评估触发条件时(通过轮询或在收到推送事件时),都会更新此属性。

lastSuccessfulEvaluationTime

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"。

WorkflowTrigger

JSON 表示法
{

  // Union field trigger can be only one of the following:
  "tableUpdateTrigger": {
    object (TableUpdateTrigger)
  }
  // End of list of possible types for union field trigger.
}
字段
联合字段 trigger。用于定义调用工作流的条件的触发器。trigger 只能是下列其中一项:
tableUpdateTrigger

object (TableUpdateTrigger)

表更新触发器配置。

TableUpdateTrigger

JSON 表示法
{
  "table": {
    object (Target)
  },
  "triggerUpdateTime": string
}
字段
table

object (Target)

用于触发工作流的目标表。

triggerUpdateTime

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"。

时长

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

string (int64 format)

时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些界限是通过以下计算得出的:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年

nanos

integer

时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 seconds 字段和正或负 nanos 字段表示。对于时长为 1 秒或更长时间的视频,nanos 字段的非零值必须与 seconds 字段的符号相同。必须介于 -999,999,999 到 +999,999,999 之间(含边界值)。

TriggerEvaluationRecord

JSON 表示法
{
  "evaluationTime": string,
  "status": {
    object (Status)
  }
}
字段
evaluationTime

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"。

status

object (Status)

仅限输出。触发器评估的状态。成功由代码 0 (OK) 表示。只有在状态代码不为零时,才会显示此消息。

QueryPriority

BigQuery 中查询执行的优先级类型。

枚举
QUERY_PRIORITY_UNSPECIFIED 默认值。此值未使用。
INTERACTIVE 查询将在 BigQuery 中以交互式优先级执行。如需了解详情,请访问 https://cloud.google.com/bigquery/docs/running-queries#queries。
BATCH 查询将在 BigQuery 中以批量优先级执行。如需了解详情,请访问 https://cloud.google.com/bigquery/docs/running-queries#batchqueries。

条件

触发工作流时要使用的条件。

枚举
CONDITION_UNSPECIFIED 如果值为 CONDITION_UNSPECIFIED,则默认值为 ANY。
ALL 如果为 ALL,则必须满足所有触发器配置条件,然后才能调用工作流。
ANY 如果存在,则必须满足至少一个触发器配置条件,然后才能调用工作流。

工具注释

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

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

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

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