ツール: create_workflow_invocation
指定された Dataform リポジトリに新しいワークフロー呼び出しを作成します。
parent パラメータの値は projects/{project_id}/locations/{location}/repositories/{repository} 形式にする必要があります。
compilation_result または workflow_config パラメータ値のいずれかが必要です。
compilation_resultを使用する場合、パラメータ値はprojects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}の形式にする必要があります。workflow_configを使用する場合、パラメータ値はprojects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}の形式にする必要があります。
前提条件: 呼び出しをトリガーするには、まず create_compilation_result ツールを使用して compilation_result を作成するか、create_workflow_config ツールを使用して workflow_config を作成する必要があります。未加工のリポジトリ コードから直接呼び出しをトリガーすることはできません。
ワークフローの呼び出しは、コンパイル ソースによって決定されるサービス アカウントで実行されます。
compilation_resultを使用する場合は、invocationConfig.serviceAccountパラメータ値を設定します。省略すると、リポジトリのデフォルトのservice_accountが使用されます。workflow_configを使用する場合は、invocationConfigパラメータを設定しないでください。呼び出しは、そのワークフロー構成で構成されたサービス アカウントで自動的に実行されます。
サービス アカウントはデフォルトの Dataform サービス エージェントにできません。サービス アカウントにはワークフローを実行するために必要な権限が付与されている必要があり、ユーザーには選択したサービス アカウントとして機能する権限が付与されている必要があります。この承認は通常、サービス アカウント ユーザーのロール(roles/iam.serviceAccountUser)を介して付与されます。このロールは、サービス アカウント自体またはそれを含むプロジェクトに付与できます。
次のコードサンプルは、curl を使用して create_workflow_invocation 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": "create_workflow_invocation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
CreateWorkflowInvocation リクエスト メッセージ。
CreateWorkflowInvocationRequest
| JSON 表現 |
|---|
{
"parent": string,
"workflowInvocation": {
object ( |
| フィールド | |
|---|---|
parent |
必須。ワークフロー呼び出しを作成するリポジトリ。 |
workflowInvocation |
必須。作成するワークフロー呼び出しリソース。 |
WorkflowInvocation
| JSON 表現 |
|---|
{ "name": string, "invocationConfig": { object ( |
| フィールド | |
|---|---|
name |
出力専用。ワークフロー呼び出しの名前。 |
invocationConfig |
変更不可。設定しない場合は、デフォルトの InvocationConfig が使用されます。 |
state |
出力専用。このワークフロー呼び出しの現在の状態。 |
invocationTiming |
出力専用。このワークフロー呼び出しのタイミングの詳細。 |
resolvedCompilationResult |
出力専用。この呼び出しの作成に使用された解決済みのコンパイル結果。 |
dataEncryptionState |
出力専用。リポジトリに KMS 鍵がある場合にのみ設定します。 |
privateResourceMetadata |
出力専用。このリソースがユーザー スコープかどうかを示すメタデータ。 |
pipelineConfig |
出力専用。パイプラインのタイプと Git リポジトリ内のパスを定義するパイプライン オプション。 |
共用体フィールド compilation_source。この呼び出しに使用するコンパイル結果のソース。compilation_source は次のいずれかになります。 |
|
compilationResult |
変更不可。この呼び出しに使用するコンパイル結果の名前。 |
workflowConfig |
変更不可。呼び出すワークフロー構成の名前。 |
共用体フィールド
|
|
internalMetadata |
出力専用。リソースの提供に内部で使用されるすべてのメタデータ情報。たとえば、タイムスタンプ、フラグ、ステータス フィールドなどです。このフィールドの形式は JSON 文字列です。 |
InvocationConfig
| JSON 表現 |
|---|
{ "includedTargets": [ { object ( |
| フィールド | |
|---|---|
includedTargets[] |
省略可。含めるアクション ID のセット。 |
includedTags[] |
省略可。含めるタグのセット。 |
transitiveDependenciesIncluded |
省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。 |
transitiveDependentsIncluded |
省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。 |
fullyRefreshIncrementalTablesEnabled |
省略可。true に設定すると、増分テーブルが完全に更新されます。 |
serviceAccount |
省略可。ワークフロー呼び出しの実行に使用するサービス アカウント。 |
共用体フィールド
|
|
queryPriority |
省略可。BigQuery でのクエリ実行の優先度を指定します。詳細については、https://cloud.google.com/bigquery/docs/running-queries#queries をご覧ください。 |
ターゲット
| JSON 表現 |
|---|
{ "database": string, "schema": string, "name": string } |
| フィールド | |
|---|---|
database |
省略可。アクションのデータベース(Google Cloud プロジェクト ID)。 |
schema |
省略可。 |
name |
省略可。 |
間隔
| JSON 表現 |
|---|
{ "startTime": string, "endTime": string } |
| フィールド | |
|---|---|
startTime |
省略可。時間間隔の開始日時(この日時を含む)。 指定した場合、開始日時と同じかそれ以降の Timestamp がこの時間間隔に一致します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
省略可。時間間隔の終了日時(この日時を含まない)。 指定した場合、終了時刻より前の Timestamp がこの時間間隔に一致します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
DataEncryptionState
| JSON 表現 |
|---|
{ "kmsKeyVersionName": string } |
| フィールド | |
|---|---|
kmsKeyVersionName |
必須。リソースのデータの暗号化に使用される KMS 鍵バージョンの名前。 |
PrivateResourceMetadata
| JSON 表現 |
|---|
{ "userScoped": boolean } |
| フィールド | |
|---|---|
userScoped |
出力専用。true の場合、このリソースはユーザー スコープです。つまり、ワークスペースであるか、ワークスペースから取得されています。 |
PipelineConfig
| JSON 表現 |
|---|
{
"pipelineType": enum ( |
| フィールド | |
|---|---|
pipelineType |
必須。パイプラインのタイプ。 |
path |
必須。パイプラインが定義されている Git リポジトリ内の相対パス。たとえば、Dataform パイプラインの場合、 |
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 をご覧ください。 |
状態
ワークフロー呼び出しの現在の状態を表します。
| 列挙型 | |
|---|---|
STATE_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
RUNNING |
ワークフローの呼び出しは現在実行中です。 |
SUCCEEDED |
ワークフローの呼び出しが成功しました。終了状態。 |
CANCELLED |
ワークフローの呼び出しがキャンセルされました。終了状態。 |
FAILED |
ワークフローの呼び出しに失敗しました。終了状態。 |
CANCELING |
ワークフローの呼び出しはキャンセルされていますが、一部のアクションはまだ実行されています。 |
PipelineType
パイプラインのタイプ。この期間は今後延長される可能性があります。UNSPECIFIED の場合は、エラーがスローされます。
| 列挙型 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
DATAFORM |
通常の Dataform パイプライン。 |
SQL |
SQL 単一ファイル アセット。 |
NOTEBOOK |
ノートブックの単一ファイル アセット。 |
出力スキーマ
コンパイル結果の単一の呼び出しを表します。
WorkflowInvocation
| JSON 表現 |
|---|
{ "name": string, "invocationConfig": { object ( |
| フィールド | |
|---|---|
name |
出力専用。ワークフロー呼び出しの名前。 |
invocationConfig |
変更不可。設定しない場合は、デフォルトの InvocationConfig が使用されます。 |
state |
出力専用。このワークフロー呼び出しの現在の状態。 |
invocationTiming |
出力専用。このワークフロー呼び出しのタイミングの詳細。 |
resolvedCompilationResult |
出力専用。この呼び出しの作成に使用された解決済みのコンパイル結果。 |
dataEncryptionState |
出力専用。リポジトリに KMS 鍵がある場合にのみ設定します。 |
privateResourceMetadata |
出力専用。このリソースがユーザー スコープかどうかを示すメタデータ。 |
pipelineConfig |
出力専用。パイプラインのタイプと Git リポジトリ内のパスを定義するパイプライン オプション。 |
共用体フィールド compilation_source。この呼び出しに使用するコンパイル結果のソース。compilation_source は次のいずれかになります。 |
|
compilationResult |
変更不可。この呼び出しに使用するコンパイル結果の名前。 |
workflowConfig |
変更不可。呼び出すワークフロー構成の名前。 |
共用体フィールド
|
|
internalMetadata |
出力専用。リソースの提供に内部で使用されるすべてのメタデータ情報。たとえば、タイムスタンプ、フラグ、ステータス フィールドなどです。このフィールドの形式は JSON 文字列です。 |
InvocationConfig
| JSON 表現 |
|---|
{ "includedTargets": [ { object ( |
| フィールド | |
|---|---|
includedTargets[] |
省略可。含めるアクション ID のセット。 |
includedTags[] |
省略可。含めるタグのセット。 |
transitiveDependenciesIncluded |
省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。 |
transitiveDependentsIncluded |
省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。 |
fullyRefreshIncrementalTablesEnabled |
省略可。true に設定すると、増分テーブルが完全に更新されます。 |
serviceAccount |
省略可。ワークフロー呼び出しの実行に使用するサービス アカウント。 |
共用体フィールド
|
|
queryPriority |
省略可。BigQuery でのクエリ実行の優先度を指定します。詳細については、https://cloud.google.com/bigquery/docs/running-queries#queries をご覧ください。 |
ターゲット
| JSON 表現 |
|---|
{ "database": string, "schema": string, "name": string } |
| フィールド | |
|---|---|
database |
省略可。アクションのデータベース(Google Cloud プロジェクト ID)。 |
schema |
省略可。 |
name |
省略可。 |
間隔
| JSON 表現 |
|---|
{ "startTime": string, "endTime": string } |
| フィールド | |
|---|---|
startTime |
省略可。時間間隔の開始日時(この日時を含む)。 指定した場合、開始日時と同じかそれ以降の Timestamp がこの時間間隔に一致します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
省略可。時間間隔の終了日時(この日時を含まない)。 指定した場合、終了時刻より前の Timestamp がこの時間間隔に一致します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
DataEncryptionState
| JSON 表現 |
|---|
{ "kmsKeyVersionName": string } |
| フィールド | |
|---|---|
kmsKeyVersionName |
必須。リソースのデータの暗号化に使用される KMS 鍵バージョンの名前。 |
PrivateResourceMetadata
| JSON 表現 |
|---|
{ "userScoped": boolean } |
| フィールド | |
|---|---|
userScoped |
出力専用。true の場合、このリソースはユーザー スコープです。つまり、ワークスペースであるか、ワークスペースから取得されています。 |
PipelineConfig
| JSON 表現 |
|---|
{
"pipelineType": enum ( |
| フィールド | |
|---|---|
pipelineType |
必須。パイプラインのタイプ。 |
path |
必須。パイプラインが定義されている Git リポジトリ内の相対パス。たとえば、Dataform パイプラインの場合、 |
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 をご覧ください。 |
状態
ワークフロー呼び出しの現在の状態を表します。
| 列挙型 | |
|---|---|
STATE_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
RUNNING |
ワークフローの呼び出しは現在実行中です。 |
SUCCEEDED |
ワークフローの呼び出しが成功しました。終了状態。 |
CANCELLED |
ワークフローの呼び出しがキャンセルされました。終了状態。 |
FAILED |
ワークフローの呼び出しに失敗しました。終了状態。 |
CANCELING |
ワークフローの呼び出しはキャンセルされていますが、一部のアクションはまだ実行されています。 |
PipelineType
パイプラインのタイプ。この期間は今後延長される可能性があります。UNSPECIFIED の場合は、エラーがスローされます。
| 列挙型 | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
デフォルト値。この値は使用されません。 |
DATAFORM |
通常の Dataform パイプライン。 |
SQL |
SQL 単一ファイル アセット。 |
NOTEBOOK |
ノートブックの単一ファイル アセット。 |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントはこれらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。
タイトル文字列とともに、次のブール値のヒントが次のように定義されています。
readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に影響はありません。デフォルトは false です。openWorldHint: true の場合、ツールは外部エンティティの「オープン ワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌