MCP Tools Reference: dataform.googleapis.com

工具:query_workflow_invocation_actions

返回给定 Dataform 工作流调用的工作流调用操作。

这些操作表示构成工作流的各个 BigQuery 作业、表创建或断言。

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

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

输入架构

QueryWorkflowInvocationActions 请求消息。

QueryWorkflowInvocationActionsRequest

JSON 表示法
{
  "name": string,
  "pageSize": integer,
  "pageToken": string
}
字段
name

string

必需。工作流调用的名称。

pageSize

integer

可选。要返回的工作流调用次数上限。服务器返回的项目数量可能少于请求的数量。如果未指定,服务器将选择合适的默认值。

pageToken

string

可选。从之前的 QueryWorkflowInvocationActions 调用接收的页面令牌。利用其进行后续页面检索。

进行分页时,提供给 QueryWorkflowInvocationActions 的所有其他参数(page_size 除外)必须与提供页面令牌的调用匹配。

输出架构

QueryWorkflowInvocationActions 响应消息。

QueryWorkflowInvocationActionsResponse

JSON 表示法
{
  "workflowInvocationActions": [
    {
      object (WorkflowInvocationAction)
    }
  ],
  "nextPageToken": string
}
字段
workflowInvocationActions[]

object (WorkflowInvocationAction)

工作流调用操作列表。

nextPageToken

string

可作为 page_token 发送并用于检索下一页的令牌。如果省略此字段,则不存在后续页面。

WorkflowInvocationAction

JSON 表示法
{
  "target": {
    object (Target)
  },
  "canonicalTarget": {
    object (Target)
  },
  "state": enum (State),
  "failureReason": string,
  "invocationTiming": {
    object (Interval)
  },

  // Union field action can be only one of the following:
  "bigqueryAction": {
    object (BigQueryAction)
  },
  "notebookAction": {
    object (NotebookAction)
  },
  "dataPreparationAction": {
    object (DataPreparationAction)
  }
  // End of list of possible types for union field action.

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

object (Target)

仅限输出。相应操作的标识符。在工作流调用中必须是唯一的。

canonicalTarget

object (Target)

仅限输出。如果项目在未配置任何替换项的情况下进行了编译,则为相应操作的标识符。在编译结果中是唯一的。

state

enum (State)

仅限输出。相应操作的当前状态。

failureReason

string

仅限输出。当且仅当操作的状态为“FAILED”时,才会设置失败原因。

invocationTiming

object (Interval)

仅限输出。相应操作的时间详细信息。如果操作处于 [RUNNING, SUCCEEDED, CANCELLED, FAILED] 状态,则会设置 start_time。如果操作处于 [SUCCEEDED, CANCELLED, FAILED] 状态,则会设置 end_time。

联合字段 action。操作的详细信息。action 只能是下列其中一项:
bigqueryAction

object (BigQueryAction)

仅限输出。工作流操作的 BigQuery 操作详细信息。

notebookAction

object (NotebookAction)

仅限输出。工作流操作的笔记本操作详细信息。

dataPreparationAction

object (DataPreparationAction)

仅限输出。工作流操作的数据准备操作详情。

联合字段 _internal_metadata。

_internal_metadata 只能是下列其中一项:

internalMetadata

string

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

BigQueryAction

JSON 表示法
{
  "sqlScript": string,
  "jobId": string
}
字段
sqlScript

string

仅限输出。将要执行的生成的 BigQuery SQL 脚本。

jobId

string

仅限输出。执行 sql_script 中 SQL 的 BigQuery 作业的 ID。仅在作业开始运行后设置。

NotebookAction

JSON 表示法
{
  "contents": string,
  "jobId": string,
  "filePath": string
}
字段
contents

string

仅限输出。要运行的笔记本的代码内容。

jobId

string

仅限输出。在内容中执行笔记本的 Gemini Enterprise Agent Platform 作业的 ID,也是用于在 Google Cloud Storage 存储桶中创建输出的 ID。仅在作业开始运行后设置。

filePath

string

仅限输出。笔记本文件在代码库中的路径。

DataPreparationAction

JSON 表示法
{
  "generatedSql": string,
  "jobId": string,

  // Union field definition can be only one of the following:
  "contentsYaml": string,
  "contentsSql": {
    object (ActionSqlDefinition)
  }
  // End of list of possible types for union field definition.
}
字段
generatedSql

string

仅限输出。将要执行的生成的 BigQuery SQL 脚本。仅供参考。

jobId

string

仅限输出。执行 sql_script 中 SQL 的 BigQuery 作业的 ID。仅在作业开始运行后设置。

联合字段 definition。数据准备的定义。definition 只能是下列其中一项:
contentsYaml

string

仅限输出。表示数据准备内容的 YAML。可用于向客户展示其工作流的输入内容。

contentsSql

object (ActionSqlDefinition)

数据准备的 SQL 定义。包含 SQL 查询和其他上下文信息。

ActionSqlDefinition

JSON 表示法
{
  "query": string,
  "errorTable": {
    object (ActionErrorTable)
  },
  "loadConfig": {
    object (ActionLoadConfig)
  }
}
字段
query

string

表示数据准备步骤的 SQL 查询。格式为 Pipe SQL 查询语句。

errorTable

object (ActionErrorTable)

错误表配置,

loadConfig

object (ActionLoadConfig)

加载配置。

ActionErrorTable

JSON 表示法
{
  "target": {
    object (Target)
  },
  "retentionDays": integer
}
字段
target

object (Target)

错误表目标。

retentionDays

integer

错误表分区过期时间(以天为单位)。仅允许使用正值。

目标

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

string

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

schema

string

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

name

string

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

ActionLoadConfig

JSON 表示法
{

  // Union field mode can be only one of the following:
  "replace": {
    object (ActionSimpleLoadMode)
  },
  "append": {
    object (ActionSimpleLoadMode)
  },
  "maximum": {
    object (ActionIncrementalLoadMode)
  },
  "unique": {
    object (ActionIncrementalLoadMode)
  }
  // End of list of possible types for union field mode.
}
字段
联合字段 mode。加载模式 mode 只能是下列其中一项:
replace

object (ActionSimpleLoadMode)

替换目标表

append

object (ActionSimpleLoadMode)

附加到目标表

maximum

object (ActionIncrementalLoadMode)

插入值超过目标表中相应列之前最大值的记录

unique

object (ActionIncrementalLoadMode)

插入目标表中尚不存在某列值的记录

ActionIncrementalLoadMode

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

string

增量加载模式的列名称

间隔

JSON 表示法
{
  "startTime": string,
  "endTime": string
}
字段
startTime

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

endTime

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)

表示世界协调时间 (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 之间(含边界值)。

州

表示工作流调用操作的当前状态。

枚举
PENDING 相应操作尚未被考虑用于调用。
RUNNING 相应操作目前正在运行。
SKIPPED 由于上游依赖项未全部成功完成,因此已跳过执行操作。一种终端状态。
DISABLED 根据相应编译结果操作的配置,执行操作已停用。一种终端状态。
SUCCEEDED 操作成功。一种终端状态。
CANCELLED 操作已取消。一种终端状态。
FAILED 操作失败。一种终端状态。

工具注释

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

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

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

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