Tool: create_workflow_invocation
Erstellt einen neuen Workflowaufruf in einem bestimmten Dataform-Repository.
Der Parameterwert parent muss das Format projects/{project_id}/locations/{location}/repositories/{repository} haben.
Der Parameterwert compilation_result oder workflow_config ist erforderlich.
- Wenn Sie
compilation_resultverwenden, muss der Parameterwert das Formatprojects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}haben. - Wenn Sie
workflow_configverwenden, muss der Parameterwert das Formatprojects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}haben.
Voraussetzung: Damit eine Aufrufung ausgelöst werden kann, müssen Sie zuerst entweder eine compilation_result mit dem Tool create_compilation_result oder eine workflow_config mit dem Tool create_workflow_config erstellen. Sie können einen Aufruf nicht direkt über den Rohcode des Repositorys auslösen.
Der Workflowaufruf wird unter einem Dienstkonto ausgeführt, das durch die Kompilierungsquelle bestimmt wird:
- Wenn Sie
compilation_resultverwenden, legen Sie den ParameterwertinvocationConfig.serviceAccountfest. Wenn keine Angabe erfolgt, wird der Standardwertservice_accountdes Repositorys verwendet. - Wenn Sie
workflow_configverwenden, legen Sie den ParameterinvocationConfignicht fest. Der Aufruf wird automatisch unter dem Dienstkonto ausgeführt, das für diese Workflowkonfiguration konfiguriert ist.
Das Dienstkonto darf nicht der Dataform-Standarddienst-Agent sein. Das Dienstkonto muss die erforderlichen Berechtigungen zum Ausführen des Workflows haben und der Nutzer muss berechtigt sein, als das ausgewählte Dienstkonto zu agieren. Diese Autorisierung wird in der Regel über die Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser) erteilt, die für das Dienstkonto selbst oder für das Projekt, das es enthält, erteilt werden kann.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool create_workflow_invocation aufrufen.
| Curl-Anfrage |
|---|
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 }' |
Eingabeschema
CreateWorkflowInvocation-Anfragenachricht.
CreateWorkflowInvocationRequest
| JSON-Darstellung |
|---|
{
"parent": string,
"workflowInvocation": {
object ( |
| Felder | |
|---|---|
parent |
Erforderlich. Das Repository, in dem der Workflow-Aufruf erstellt werden soll. Muss das Format |
workflowInvocation |
Erforderlich. Die zu erstellende Workflow-Aufrufressource. |
WorkflowInvocation
| JSON-Darstellung |
|---|
{ "name": string, "invocationConfig": { object ( |
| Felder | |
|---|---|
name |
Nur Ausgabe. Der Name des Workflow-Aufrufs. |
invocationConfig |
Nicht veränderbar. Wenn nichts angegeben ist, wird eine Standard-InvocationConfig verwendet. |
state |
Nur Ausgabe. Der aktuelle Status dieses Workflow-Aufrufs. |
invocationTiming |
Nur Ausgabe. Zeitliche Details dieses Workflow-Aufrufs. |
resolvedCompilationResult |
Nur Ausgabe. Das aufgelöste Kompilierungsergebnis, das zum Erstellen dieses Aufrufs verwendet wurde. Hat das Format |
dataEncryptionState |
Nur Ausgabe. Wird nur festgelegt, wenn das Repository einen KMS-Schlüssel hat. |
privateResourceMetadata |
Nur Ausgabe. Metadaten, die angeben, ob diese Ressource auf Nutzerebene ist. Die |
pipelineConfig |
Nur Ausgabe. Die Pipelineoptionen, die den Pipelinetyp und den Pfad innerhalb des Git-Repositorys definieren. |
Union-Feld compilation_source. Die Quelle des Kompilierungsergebnisses, die für diesen Aufruf verwendet werden soll. Für compilation_source ist nur einer der folgenden Werte zulässig: |
|
compilationResult |
Nicht veränderbar. Der Name des Kompilierungsergebnisses, das für diesen Aufruf verwendet werden soll. Muss das Format |
workflowConfig |
Nicht veränderbar. Der Name der aufzurufenden Workflowkonfiguration. Muss das Format |
Union-Feld Für |
|
internalMetadata |
Nur Ausgabe. Alle Metadateninformationen, die intern zum Bereitstellen der Ressource verwendet werden. Beispiele: Zeitstempel, Flags, Statusfelder usw. Das Format dieses Felds ist ein JSON-String. |
InvocationConfig
| JSON-Darstellung |
|---|
{ "includedTargets": [ { object ( |
| Felder | |
|---|---|
includedTargets[] |
Optional. Die Gruppe der einzuschließenden Aktionskennungen. |
includedTags[] |
Optional. Die einzuschließenden Tags. |
transitiveDependenciesIncluded |
Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden transitive Abhängigkeiten der enthaltenen Aktionen ausgeführt. |
transitiveDependentsIncluded |
Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden vorübergehende abhängige Aktionen der einbezogenen Aktionen ausgeführt. |
fullyRefreshIncrementalTablesEnabled |
Optional. Wenn dieser Wert auf „true“ festgelegt ist, werden alle inkrementellen Tabellen vollständig aktualisiert. |
serviceAccount |
Optional. Das Dienstkonto, unter dem Workflow-Aufrufe ausgeführt werden. |
Union-Feld Für |
|
queryPriority |
Optional. Gibt die Priorität für die Abfrageausführung in BigQuery an. Weitere Informationen finden Sie unter https://cloud.google.com/bigquery/docs/running-queries#queries. |
Ziel
| JSON-Darstellung |
|---|
{ "database": string, "schema": string, "name": string } |
| Felder | |
|---|---|
database |
Optional. Die Datenbank der Aktion (Google Cloud-Projekt-ID) . |
schema |
Optional. Das Schema der Aktion (BigQuery-Dataset-ID) in |
name |
Optional. Der Name der Aktion zwischen |
Intervall
| JSON-Darstellung |
|---|
{ "startTime": string, "endTime": string } |
| Felder | |
|---|---|
startTime |
Optional. Eingeschlossener Start des Intervalls. Wenn angegeben, muss ein Zeitstempel, der diesem Intervall entspricht, gleich dem Start sein oder darauf folgen. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
endTime |
Optional. Ausgeschlossenes Ende des Intervalls. Wenn angegeben, muss ein Zeitstempel, der diesem Intervall entspricht, vor dem Ende liegen. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich). |
DataEncryptionState
| JSON-Darstellung |
|---|
{ "kmsKeyVersionName": string } |
| Felder | |
|---|---|
kmsKeyVersionName |
Erforderlich. Der Name der KMS-Schlüsselversion, mit der die Daten einer Ressource verschlüsselt werden. |
PrivateResourceMetadata
| JSON-Darstellung |
|---|
{ "userScoped": boolean } |
| Felder | |
|---|---|
userScoped |
Nur Ausgabe. Wenn „true“, ist diese Ressource auf Nutzerebene. Das bedeutet, dass sie entweder ein Arbeitsbereich ist oder aus einem Arbeitsbereich stammt. |
PipelineConfig
| JSON-Darstellung |
|---|
{
"pipelineType": enum ( |
| Felder | |
|---|---|
pipelineType |
Erforderlich. Der Typ der Pipeline. |
path |
Erforderlich. Der relative Pfad im Git-Repository, in dem die Pipeline definiert ist. Bei einer Dataform-Pipeline ist das beispielsweise ein Pfad zum Ordner, in dem sich |
QueryPriority
Arten von Priorität für die Ausführung von Abfragen in BigQuery
| Enums | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
Standardwert. Dieser Wert wird nicht verwendet. |
INTERACTIVE |
Die Abfrage wird in BigQuery mit interaktiver Priorität ausgeführt. Weitere Informationen finden Sie unter https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
Die Abfrage wird in BigQuery mit Batchpriorität ausgeführt. Weitere Informationen finden Sie unter https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
Bundesland
Stellt den aktuellen Status eines Workflow-Aufrufs dar.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Standardwert. Dieser Wert wird nicht verwendet. |
RUNNING |
Der Workflowaufruf wird gerade ausgeführt. |
SUCCEEDED |
Der Workflow wurde aufgerufen. Ein Terminalstatus. |
CANCELLED |
Der Workflow-Aufruf wurde abgebrochen. Ein Terminalstatus. |
FAILED |
Der Workflowaufruf ist fehlgeschlagen. Ein Terminalstatus. |
CANCELING |
Der Workflow-Aufruf wird abgebrochen, aber einige Aktionen werden noch ausgeführt. |
PipelineType
Der Typ der Pipeline. Diese Frist kann in Zukunft verlängert werden. Im Fall von UNSPECIFIED wird der Fehler ausgegeben.
| Enums | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
Standardwert. Dieser Wert wird nicht verwendet. |
DATAFORM |
Reguläre Dataform-Pipeline. |
SQL |
SQL-Einzeldatei-Asset. |
NOTEBOOK |
Einzelnes Datei-Asset für Notebooks. |
Ausgabeschema
Stellt einen einzelnen Aufruf eines Kompilierungsergebnisses dar.
WorkflowInvocation
| JSON-Darstellung |
|---|
{ "name": string, "invocationConfig": { object ( |
| Felder | |
|---|---|
name |
Nur Ausgabe. Der Name des Workflow-Aufrufs. |
invocationConfig |
Nicht veränderbar. Wenn nichts angegeben ist, wird eine Standard-InvocationConfig verwendet. |
state |
Nur Ausgabe. Der aktuelle Status dieses Workflow-Aufrufs. |
invocationTiming |
Nur Ausgabe. Zeitliche Details dieses Workflow-Aufrufs. |
resolvedCompilationResult |
Nur Ausgabe. Das aufgelöste Kompilierungsergebnis, das zum Erstellen dieses Aufrufs verwendet wurde. Hat das Format |
dataEncryptionState |
Nur Ausgabe. Wird nur festgelegt, wenn das Repository einen KMS-Schlüssel hat. |
privateResourceMetadata |
Nur Ausgabe. Metadaten, die angeben, ob diese Ressource auf Nutzerebene ist. Die |
pipelineConfig |
Nur Ausgabe. Die Pipelineoptionen, die den Pipelinetyp und den Pfad innerhalb des Git-Repositorys definieren. |
Union-Feld compilation_source. Die Quelle des Kompilierungsergebnisses, die für diesen Aufruf verwendet werden soll. Für compilation_source ist nur einer der folgenden Werte zulässig: |
|
compilationResult |
Nicht veränderbar. Der Name des Kompilierungsergebnisses, das für diesen Aufruf verwendet werden soll. Muss das Format |
workflowConfig |
Nicht veränderbar. Der Name der aufzurufenden Workflowkonfiguration. Muss das Format |
Union-Feld Für |
|
internalMetadata |
Nur Ausgabe. Alle Metadateninformationen, die intern zum Bereitstellen der Ressource verwendet werden. Beispiele: Zeitstempel, Flags, Statusfelder usw. Das Format dieses Felds ist ein JSON-String. |
InvocationConfig
| JSON-Darstellung |
|---|
{ "includedTargets": [ { object ( |
| Felder | |
|---|---|
includedTargets[] |
Optional. Die Gruppe der einzuschließenden Aktionskennungen. |
includedTags[] |
Optional. Die einzuschließenden Tags. |
transitiveDependenciesIncluded |
Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden transitive Abhängigkeiten der enthaltenen Aktionen ausgeführt. |
transitiveDependentsIncluded |
Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden vorübergehende abhängige Aktionen der einbezogenen Aktionen ausgeführt. |
fullyRefreshIncrementalTablesEnabled |
Optional. Wenn dieser Wert auf „true“ festgelegt ist, werden alle inkrementellen Tabellen vollständig aktualisiert. |
serviceAccount |
Optional. Das Dienstkonto, unter dem Workflow-Aufrufe ausgeführt werden. |
Union-Feld Für |
|
queryPriority |
Optional. Gibt die Priorität für die Abfrageausführung in BigQuery an. Weitere Informationen finden Sie unter https://cloud.google.com/bigquery/docs/running-queries#queries. |
Ziel
| JSON-Darstellung |
|---|
{ "database": string, "schema": string, "name": string } |
| Felder | |
|---|---|
database |
Optional. Die Datenbank der Aktion (Google Cloud-Projekt-ID) . |
schema |
Optional. Das Schema der Aktion (BigQuery-Dataset-ID) in |
name |
Optional. Der Name der Aktion zwischen |
Intervall
| JSON-Darstellung |
|---|
{ "startTime": string, "endTime": string } |
| Felder | |
|---|---|
startTime |
Optional. Eingeschlossener Start des Intervalls. Wenn angegeben, muss ein Zeitstempel, der diesem Intervall entspricht, gleich dem Start sein oder darauf folgen. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
endTime |
Optional. Ausgeschlossenes Ende des Intervalls. Wenn angegeben, muss ein Zeitstempel, der diesem Intervall entspricht, vor dem Ende liegen. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich). |
DataEncryptionState
| JSON-Darstellung |
|---|
{ "kmsKeyVersionName": string } |
| Felder | |
|---|---|
kmsKeyVersionName |
Erforderlich. Der Name der KMS-Schlüsselversion, mit der die Daten einer Ressource verschlüsselt werden. |
PrivateResourceMetadata
| JSON-Darstellung |
|---|
{ "userScoped": boolean } |
| Felder | |
|---|---|
userScoped |
Nur Ausgabe. Wenn „true“, ist diese Ressource auf Nutzerebene. Das bedeutet, dass sie entweder ein Arbeitsbereich ist oder aus einem Arbeitsbereich stammt. |
PipelineConfig
| JSON-Darstellung |
|---|
{
"pipelineType": enum ( |
| Felder | |
|---|---|
pipelineType |
Erforderlich. Der Typ der Pipeline. |
path |
Erforderlich. Der relative Pfad im Git-Repository, in dem die Pipeline definiert ist. Bei einer Dataform-Pipeline ist das beispielsweise ein Pfad zum Ordner, in dem sich |
QueryPriority
Arten von Priorität für die Ausführung von Abfragen in BigQuery
| Enums | |
|---|---|
QUERY_PRIORITY_UNSPECIFIED |
Standardwert. Dieser Wert wird nicht verwendet. |
INTERACTIVE |
Die Abfrage wird in BigQuery mit interaktiver Priorität ausgeführt. Weitere Informationen finden Sie unter https://cloud.google.com/bigquery/docs/running-queries#queries. |
BATCH |
Die Abfrage wird in BigQuery mit Batchpriorität ausgeführt. Weitere Informationen finden Sie unter https://cloud.google.com/bigquery/docs/running-queries#batchqueries. |
Bundesland
Stellt den aktuellen Status eines Workflow-Aufrufs dar.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Standardwert. Dieser Wert wird nicht verwendet. |
RUNNING |
Der Workflowaufruf wird gerade ausgeführt. |
SUCCEEDED |
Der Workflow wurde aufgerufen. Ein Terminalstatus. |
CANCELLED |
Der Workflow-Aufruf wurde abgebrochen. Ein Terminalstatus. |
FAILED |
Der Workflowaufruf ist fehlgeschlagen. Ein Terminalstatus. |
CANCELING |
Der Workflow-Aufruf wird abgebrochen, aber einige Aktionen werden noch ausgeführt. |
PipelineType
Der Typ der Pipeline. Diese Frist kann in Zukunft verlängert werden. Im Fall von UNSPECIFIED wird der Fehler ausgegeben.
| Enums | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
Standardwert. Dieser Wert wird nicht verwendet. |
DATAFORM |
Reguläre Dataform-Pipeline. |
SQL |
SQL-Einzeldatei-Asset. |
NOTEBOOK |
Einzelnes Datei-Asset für Notebooks. |
Tool-Annotationen
Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet wird.
Zusammen mit dem Titelstring sind die folgenden booleschen Hinweise definiert:
readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Web-Suchtool wäre beispielsweise frei verfügbar, ein Tool für das Gedächtnis jedoch nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Nur-Lese-Hinweis: ❌ | Open-World-Hinweis: ❌