MCP Tools Reference: dataform.googleapis.com

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_result verwenden, muss der Parameterwert das Format projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result} haben.
  • Wenn Sie workflow_config verwenden, muss der Parameterwert das Format projects/{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_result verwenden, legen Sie den Parameterwert invocationConfig.serviceAccount fest. Wenn keine Angabe erfolgt, wird der Standardwert service_account des Repositorys verwendet.
  • Wenn Sie workflow_config verwenden, legen Sie den Parameter invocationConfig nicht 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 (WorkflowInvocation)
  }
}
Felder
parent

string

Erforderlich. Das Repository, in dem der Workflow-Aufruf erstellt werden soll. Muss das Format projects/*/locations/*/repositories/* aufweisen.

workflowInvocation

object (WorkflowInvocation)

Erforderlich. Die zu erstellende Workflow-Aufrufressource.

WorkflowInvocation

JSON-Darstellung
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

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

string

Nur Ausgabe. Der Name des Workflow-Aufrufs.

invocationConfig

object (InvocationConfig)

Nicht veränderbar. Wenn nichts angegeben ist, wird eine Standard-InvocationConfig verwendet.

state

enum (State)

Nur Ausgabe. Der aktuelle Status dieses Workflow-Aufrufs.

invocationTiming

object (Interval)

Nur Ausgabe. Zeitliche Details dieses Workflow-Aufrufs.

resolvedCompilationResult

string

Nur Ausgabe. Das aufgelöste Kompilierungsergebnis, das zum Erstellen dieses Aufrufs verwendet wurde. Hat das Format projects/*/locations/*/repositories/*/compilationResults/*.

dataEncryptionState

object (DataEncryptionState)

Nur Ausgabe. Wird nur festgelegt, wenn das Repository einen KMS-Schlüssel hat.

privateResourceMetadata

object (PrivateResourceMetadata)

Nur Ausgabe. Metadaten, die angeben, ob diese Ressource auf Nutzerebene ist. Die WorkflowInvocation-Ressource ist nur dann user_scoped, wenn sie aus einem Zusammenstellungsergebnis stammt und das Zusammenstellungsergebnis auf Nutzerebene ist.

pipelineConfig

object (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

string

Nicht veränderbar. Der Name des Kompilierungsergebnisses, das für diesen Aufruf verwendet werden soll. Muss das Format projects/*/locations/*/repositories/*/compilationResults/* aufweisen.

workflowConfig

string

Nicht veränderbar. Der Name der aufzurufenden Workflowkonfiguration. Muss das Format projects/*/locations/*/repositories/*/workflowConfigs/* aufweisen.

Union-Feld _internal_metadata.

Für _internal_metadata ist nur einer der folgenden Werte zulässig:

internalMetadata

string

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 (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
Felder
includedTargets[]

object (Target)

Optional. Die Gruppe der einzuschließenden Aktionskennungen.

includedTags[]

string

Optional. Die einzuschließenden Tags.

transitiveDependenciesIncluded

boolean

Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden transitive Abhängigkeiten der enthaltenen Aktionen ausgeführt.

transitiveDependentsIncluded

boolean

Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden vorübergehende abhängige Aktionen der einbezogenen Aktionen ausgeführt.

fullyRefreshIncrementalTablesEnabled

boolean

Optional. Wenn dieser Wert auf „true“ festgelegt ist, werden alle inkrementellen Tabellen vollständig aktualisiert.

serviceAccount

string

Optional. Das Dienstkonto, unter dem Workflow-Aufrufe ausgeführt werden.

Union-Feld _query_priority.

Für _query_priority ist nur einer der folgenden Werte zulässig:

queryPriority

enum (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

string

Optional. Die Datenbank der Aktion (Google Cloud-Projekt-ID) .

schema

string

Optional. Das Schema der Aktion (BigQuery-Dataset-ID) in database.

name

string

Optional. Der Name der Aktion zwischen database und schema.

Intervall

JSON-Darstellung
{
  "startTime": string,
  "endTime": string
}
Felder
startTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

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

integer

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

string

Erforderlich. Der Name der KMS-Schlüsselversion, mit der die Daten einer Ressource verschlüsselt werden.

PrivateResourceMetadata

JSON-Darstellung
{
  "userScoped": boolean
}
Felder
userScoped

boolean

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 (PipelineType),
  "path": string
}
Felder
pipelineType

enum (PipelineType)

Erforderlich. Der Typ der Pipeline.

path

string

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 workflow_settings.yaml oder dataform.json befindet.

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 (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

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

string

Nur Ausgabe. Der Name des Workflow-Aufrufs.

invocationConfig

object (InvocationConfig)

Nicht veränderbar. Wenn nichts angegeben ist, wird eine Standard-InvocationConfig verwendet.

state

enum (State)

Nur Ausgabe. Der aktuelle Status dieses Workflow-Aufrufs.

invocationTiming

object (Interval)

Nur Ausgabe. Zeitliche Details dieses Workflow-Aufrufs.

resolvedCompilationResult

string

Nur Ausgabe. Das aufgelöste Kompilierungsergebnis, das zum Erstellen dieses Aufrufs verwendet wurde. Hat das Format projects/*/locations/*/repositories/*/compilationResults/*.

dataEncryptionState

object (DataEncryptionState)

Nur Ausgabe. Wird nur festgelegt, wenn das Repository einen KMS-Schlüssel hat.

privateResourceMetadata

object (PrivateResourceMetadata)

Nur Ausgabe. Metadaten, die angeben, ob diese Ressource auf Nutzerebene ist. Die WorkflowInvocation-Ressource ist nur dann user_scoped, wenn sie aus einem Zusammenstellungsergebnis stammt und das Zusammenstellungsergebnis auf Nutzerebene ist.

pipelineConfig

object (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

string

Nicht veränderbar. Der Name des Kompilierungsergebnisses, das für diesen Aufruf verwendet werden soll. Muss das Format projects/*/locations/*/repositories/*/compilationResults/* aufweisen.

workflowConfig

string

Nicht veränderbar. Der Name der aufzurufenden Workflowkonfiguration. Muss das Format projects/*/locations/*/repositories/*/workflowConfigs/* aufweisen.

Union-Feld _internal_metadata.

Für _internal_metadata ist nur einer der folgenden Werte zulässig:

internalMetadata

string

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 (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
Felder
includedTargets[]

object (Target)

Optional. Die Gruppe der einzuschließenden Aktionskennungen.

includedTags[]

string

Optional. Die einzuschließenden Tags.

transitiveDependenciesIncluded

boolean

Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden transitive Abhängigkeiten der enthaltenen Aktionen ausgeführt.

transitiveDependentsIncluded

boolean

Optional. Wenn dieser Wert auf „true“ gesetzt ist, werden vorübergehende abhängige Aktionen der einbezogenen Aktionen ausgeführt.

fullyRefreshIncrementalTablesEnabled

boolean

Optional. Wenn dieser Wert auf „true“ festgelegt ist, werden alle inkrementellen Tabellen vollständig aktualisiert.

serviceAccount

string

Optional. Das Dienstkonto, unter dem Workflow-Aufrufe ausgeführt werden.

Union-Feld _query_priority.

Für _query_priority ist nur einer der folgenden Werte zulässig:

queryPriority

enum (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

string

Optional. Die Datenbank der Aktion (Google Cloud-Projekt-ID) .

schema

string

Optional. Das Schema der Aktion (BigQuery-Dataset-ID) in database.

name

string

Optional. Der Name der Aktion zwischen database und schema.

Intervall

JSON-Darstellung
{
  "startTime": string,
  "endTime": string
}
Felder
startTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

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

integer

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

string

Erforderlich. Der Name der KMS-Schlüsselversion, mit der die Daten einer Ressource verschlüsselt werden.

PrivateResourceMetadata

JSON-Darstellung
{
  "userScoped": boolean
}
Felder
userScoped

boolean

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 (PipelineType),
  "path": string
}
Felder
pipelineType

enum (PipelineType)

Erforderlich. Der Typ der Pipeline.

path

string

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 workflow_settings.yaml oder dataform.json befindet.

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: ❌