工具: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 |
必需。工作流调用的名称。 |
pageSize |
可选。要返回的工作流调用次数上限。服务器返回的项目数量可能少于请求的数量。如果未指定,服务器将选择合适的默认值。 |
pageToken |
可选。从之前的 进行分页时,提供给 |
输出架构
QueryWorkflowInvocationActions 响应消息。
QueryWorkflowInvocationActionsResponse
| JSON 表示法 |
|---|
{
"workflowInvocationActions": [
{
object ( |
| 字段 | |
|---|---|
workflowInvocationActions[] |
工作流调用操作列表。 |
nextPageToken |
可作为 |
WorkflowInvocationAction
| JSON 表示法 |
|---|
{ "target": { object ( |
| 字段 | |
|---|---|
target |
仅限输出。相应操作的标识符。在工作流调用中必须是唯一的。 |
canonicalTarget |
仅限输出。如果项目在未配置任何替换项的情况下进行了编译,则为相应操作的标识符。在编译结果中是唯一的。 |
state |
仅限输出。相应操作的当前状态。 |
failureReason |
仅限输出。当且仅当操作的状态为“FAILED”时,才会设置失败原因。 |
invocationTiming |
仅限输出。相应操作的时间详细信息。如果操作处于 [RUNNING, SUCCEEDED, CANCELLED, FAILED] 状态,则会设置 |
联合字段 action。操作的详细信息。action 只能是下列其中一项: |
|
bigqueryAction |
仅限输出。工作流操作的 BigQuery 操作详细信息。 |
notebookAction |
仅限输出。工作流操作的笔记本操作详细信息。 |
dataPreparationAction |
仅限输出。工作流操作的数据准备操作详情。 |
联合字段
|
|
internalMetadata |
仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。 |
BigQueryAction
| JSON 表示法 |
|---|
{ "sqlScript": string, "jobId": string } |
| 字段 | |
|---|---|
sqlScript |
仅限输出。将要执行的生成的 BigQuery SQL 脚本。 |
jobId |
仅限输出。执行 sql_script 中 SQL 的 BigQuery 作业的 ID。仅在作业开始运行后设置。 |
NotebookAction
| JSON 表示法 |
|---|
{ "contents": string, "jobId": string, "filePath": string } |
| 字段 | |
|---|---|
contents |
仅限输出。要运行的笔记本的代码内容。 |
jobId |
仅限输出。在内容中执行笔记本的 Gemini Enterprise Agent Platform 作业的 ID,也是用于在 Google Cloud Storage 存储桶中创建输出的 ID。仅在作业开始运行后设置。 |
filePath |
仅限输出。笔记本文件在代码库中的路径。 |
DataPreparationAction
| JSON 表示法 |
|---|
{ "generatedSql": string, "jobId": string, // Union field |
| 字段 | |
|---|---|
generatedSql |
仅限输出。将要执行的生成的 BigQuery SQL 脚本。仅供参考。 |
jobId |
仅限输出。执行 sql_script 中 SQL 的 BigQuery 作业的 ID。仅在作业开始运行后设置。 |
联合字段 definition。数据准备的定义。definition 只能是下列其中一项: |
|
contentsYaml |
仅限输出。表示数据准备内容的 YAML。可用于向客户展示其工作流的输入内容。 |
contentsSql |
数据准备的 SQL 定义。包含 SQL 查询和其他上下文信息。 |
ActionSqlDefinition
| JSON 表示法 |
|---|
{ "query": string, "errorTable": { object ( |
| 字段 | |
|---|---|
query |
表示数据准备步骤的 SQL 查询。格式为 Pipe SQL 查询语句。 |
errorTable |
错误表配置, |
loadConfig |
加载配置。 |
ActionErrorTable
| JSON 表示法 |
|---|
{
"target": {
object ( |
| 字段 | |
|---|---|
target |
错误表目标。 |
retentionDays |
错误表分区过期时间(以天为单位)。仅允许使用正值。 |
目标
| JSON 表示法 |
|---|
{ "database": string, "schema": string, "name": string } |
| 字段 | |
|---|---|
database |
可选。操作的数据库(Google Cloud 项目 ID)。 |
schema |
可选。 |
name |
可选。操作的名称,位于 |
ActionLoadConfig
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 mode。加载模式 mode 只能是下列其中一项: |
|
replace |
替换目标表 |
append |
附加到目标表 |
maximum |
插入值超过目标表中相应列之前最大值的记录 |
unique |
插入目标表中尚不存在某列值的记录 |
ActionIncrementalLoadMode
| JSON 表示法 |
|---|
{ "column": string } |
| 字段 | |
|---|---|
column |
增量加载模式的列名称 |
间隔
| JSON 表示法 |
|---|
{ "startTime": string, "endTime": string } |
| 字段 | |
|---|---|
startTime |
可选。时间间隔的开始时间(含)。 如果指定,则与此时间间隔匹配的时间戳必须等于或晚于开始时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
endTime |
可选。时间间隔的结束时间(不含)。 如果指定,则与此时间间隔匹配的时间戳必须早于结束时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
时间戳
| 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 之间(含边界值)。 |
州
表示工作流调用操作的当前状态。
| 枚举 | |
|---|---|
PENDING |
相应操作尚未被考虑用于调用。 |
RUNNING |
相应操作目前正在运行。 |
SKIPPED |
由于上游依赖项未全部成功完成,因此已跳过执行操作。一种终端状态。 |
DISABLED |
根据相应编译结果操作的配置,执行操作已停用。一种终端状态。 |
SUCCEEDED |
操作成功。一种终端状态。 |
CANCELLED |
操作已取消。一种终端状态。 |
FAILED |
操作失败。一种终端状态。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌