工具:query_compilation_actions
针对给定的 Dataform 编译结果返回编译结果操作。
name 参数值必须采用 projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result} 格式。
以下示例演示了如何使用 curl 调用 query_compilation_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_compilation_actions", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
QueryCompilationResultActions 请求消息。
QueryCompilationResultActionsRequest
| JSON 表示法 |
|---|
{ "name": string, "pageSize": integer, "pageToken": string, "filter": string } |
| 字段 | |
|---|---|
name |
必需。编译结果的名称。 |
pageSize |
可选。要返回的编译结果数量上限。服务器返回的项目数量可能少于请求的数量。如果未指定,服务器将选择合适的默认值。 |
pageToken |
可选。从之前的 进行分页时,提供给 |
filter |
可选。返回列表的可选过滤条件。目前仅支持对 |
输出架构
QueryCompilationResultActions 响应消息。
QueryCompilationResultActionsResponse
| JSON 表示法 |
|---|
{
"compilationResultActions": [
{
object ( |
| 字段 | |
|---|---|
compilationResultActions[] |
编译结果操作的列表。 |
nextPageToken |
可作为 |
CompilationResultAction
| JSON 表示法 |
|---|
{ "target": { object ( |
| 字段 | |
|---|---|
target |
相应操作的标识符。在编译结果中是唯一的。 |
canonicalTarget |
如果项目在未配置任何替换项的情况下进行了编译,则为相应操作的标识符。在编译结果中是唯一的。 |
filePath |
相对于工作区根目录的完整路径(包括文件名),其中包含相应操作。 |
联合字段 compiled_object。已编译的对象。compiled_object 只能是下列其中一项: |
|
relation |
相应操作创建/更新的数据库关系。 |
operations |
相应操作执行的数据库操作。 |
assertion |
相应操作执行的断言。 |
declaration |
相应操作声明的声明。 |
notebook |
相应操作执行的笔记本。 |
dataPreparation |
相应操作执行的数据准备。 |
联合字段
|
|
internalMetadata |
仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。 |
关系
| JSON 表示法 |
|---|
{ "dependencyTargets": [ { object ( |
| 字段 | |
|---|---|
dependencyTargets[] |
此操作所依赖的操作的列表。 |
disabled |
相应操作是否已停用(即不应运行)。 |
tags[] |
此操作的用户定义任意标记。 |
relationDescriptor |
关系及其列的描述符。 |
relationType |
相应关系的类型。 |
selectQuery |
返回此关系应包含的行的 SELECT 查询。 |
preOperations[] |
在创建关系之前要执行的 SQL 语句。 |
postOperations[] |
创建关系后要执行的 SQL 语句。 |
incrementalTableConfig |
为此关系配置 |
partitionExpression |
用于对关系进行分区的 SQL 表达式。 |
clusterExpressions[] |
用于对表进行聚簇的列或 SQL 表达式的列表。 |
partitionExpirationDays |
设置分区过期时间(以天为单位)。 |
requirePartitionFilter |
指定此表的查询是否必须包含对分区列进行过滤的谓词过滤条件。 |
additionalOptions |
将作为键值对提供给 CREATE TABLE/VIEW 语句的 OPTIONS 子句的其他选项。如需详细了解支持哪些选项,请参阅 https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language。 包含一系列 |
connection |
可选。用于指定凭证的连接,这些凭证将用于读取和写入外部存储空间(例如 Cloud Storage)。连接可以采用 |
tableFormat |
可选。BigQuery 表的表格格式。 |
fileFormat |
可选。BigQuery 表的文件格式。 |
storageUri |
可选。存储表数据的外部文件夹的完全限定位置前缀。URI 应采用 |
目标
| JSON 表示法 |
|---|
{ "database": string, "schema": string, "name": string } |
| 字段 | |
|---|---|
database |
可选。操作的数据库(Google Cloud 项目 ID)。 |
schema |
可选。 |
name |
可选。操作的名称,位于 |
RelationDescriptor
| JSON 表示法 |
|---|
{
"description": string,
"columns": [
{
object ( |
| 字段 | |
|---|---|
description |
关系的文字说明。 |
columns[] |
关系中各列的说明列表。 |
bigqueryLabels |
应应用于关系的 BigQuery 标签集。 包含一系列 |
ColumnDescriptor
| JSON 表示法 |
|---|
{ "path": [ string ], "description": string, "bigqueryPolicyTags": [ string ] } |
| 字段 | |
|---|---|
path[] |
列的标识符。 |
description |
列的文本说明。 |
bigqueryPolicyTags[] |
将应用于相应列的 BigQuery 政策标记的列表。 |
BigqueryLabelsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
IncrementalTableConfig
| JSON 表示法 |
|---|
{ "incrementalSelectQuery": string, "refreshDisabled": boolean, "uniqueKeyParts": [ string ], "updatePartitionFilter": string, "incrementalPreOperations": [ string ], "incrementalPostOperations": [ string ] } |
| 字段 | |
|---|---|
incrementalSelectQuery |
SELECT 查询,用于返回应插入到关系中的行(如果关系已存在且未刷新)。 |
refreshDisabled |
相应表格是否应受到保护,以免被刷新。 |
uniqueKeyParts[] |
用于定义行唯一性的一组列或 SQL 表达式。如果发现任何重复项(如 |
updatePartitionFilter |
一种 SQL 表达式条件,用于限制在合并操作中考虑的现有行集(如需了解详情,请参阅 |
incrementalPreOperations[] |
要在将新行插入关系之前执行的 SQL 语句。 |
incrementalPostOperations[] |
在将新行插入关系后要执行的 SQL 语句。 |
AdditionalOptionsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
操作
| JSON 表示法 |
|---|
{ "dependencyTargets": [ { object ( |
| 字段 | |
|---|---|
dependencyTargets[] |
此操作所依赖的操作的列表。 |
disabled |
相应操作是否已停用(即不应运行)。 |
tags[] |
此操作的用户定义任意标记。 |
relationDescriptor |
任何输出关系及其列的描述符。仅当 |
queries[] |
将按原样执行的任意 SQL 语句的列表。 |
hasOutput |
这些操作是否会生成输出关系。 |
断言
| JSON 表示法 |
|---|
{ "dependencyTargets": [ { object ( |
| 字段 | |
|---|---|
dependencyTargets[] |
相应操作所依赖的操作的列表。 |
parentAction |
相应断言的父操作。仅当此断言是自动生成时才设置。 |
disabled |
相应操作是否已停用(即不应运行)。 |
tags[] |
此操作的用户定义任意标记。 |
selectQuery |
必须返回零行的 SELECT 查询,才能使此断言成功。 |
relationDescriptor |
断言的自动生成的视图及其列的描述符。 |
声明
| JSON 表示法 |
|---|
{
"relationDescriptor": {
object ( |
| 字段 | |
|---|---|
relationDescriptor |
关系及其列的描述符。仅用作文档,即此处的值不会导致关系元数据发生任何变化。 |
笔记本
| JSON 表示法 |
|---|
{
"dependencyTargets": [
{
object ( |
| 字段 | |
|---|---|
dependencyTargets[] |
此操作所依赖的操作的列表。 |
disabled |
相应操作是否已停用(即不应运行)。 |
contents |
笔记本的内容。 |
tags[] |
此操作的用户定义任意标记。 |
DataPreparation
| JSON 表示法 |
|---|
{ "dependencyTargets": [ { object ( |
| 字段 | |
|---|---|
dependencyTargets[] |
此操作所依赖的操作的列表。 |
disabled |
相应操作是否已停用(即不应运行)。 |
tags[] |
此操作的用户定义任意标记。 |
联合字段 definition。数据准备的定义。definition 只能是下列其中一项: |
|
contentsYaml |
以 YAML 字符串形式存储的数据准备定义。 |
contentsSql |
数据准备的 SQL 定义。包含 SQL 查询和额外的上下文信息。 |
SqlDefinition
| JSON 表示法 |
|---|
{ "query": string, "errorTable": { object ( |
| 字段 | |
|---|---|
query |
表示数据准备步骤的 SQL 查询。格式为 Pipe SQL 查询语句。 |
errorTable |
错误表配置, |
load |
加载配置。 |
ErrorTable
| JSON 表示法 |
|---|
{
"target": {
object ( |
| 字段 | |
|---|---|
target |
错误表目标。 |
retentionDays |
错误表分区过期时间(以天为单位)。仅允许使用正值。 |
LoadConfig
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 mode。加载模式 mode 只能是下列其中一项: |
|
replace |
替换目标表 |
append |
附加到目标表 |
maximum |
插入值超过目标表中相应列之前最大值的记录 |
unique |
插入目标表中尚不存在某列值的记录 |
IncrementalLoadMode
| JSON 表示法 |
|---|
{ "column": string } |
| 字段 | |
|---|---|
column |
增量加载模式的列名称 |
RelationType
指示相应关系的类型。
| 枚举 | |
|---|---|
RELATION_TYPE_UNSPECIFIED |
默认值。此值未使用。 |
TABLE |
关系是一个表。 |
VIEW |
关系是视图。 |
INCREMENTAL_TABLE |
关系是增量表。 |
MATERIALIZED_VIEW |
关系是具体化视图。 |
TableFormat
BigQuery 表支持的表格式。
| 枚举 | |
|---|---|
TABLE_FORMAT_UNSPECIFIED |
默认值。 |
ICEBERG |
Apache Iceberg 格式。 |
FileFormat
BigQuery 表支持的文件格式。
| 枚举 | |
|---|---|
FILE_FORMAT_UNSPECIFIED |
默认值。 |
PARQUET |
Apache Parquet 格式。 |
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌