MCP Tools Reference: dataform.googleapis.com

Tool: get_repository

Ein einzelnes Dataform-Repository abrufen, einschließlich der Git-Remote-Einstellungen, der Überschreibungen für die Workspace-Kompilierung und des Standarddienstkontos.

Mit diesem Tool können Sie das Feld git_remote_settings prüfen, um zu ermitteln, wie Sie mit dem Repository interagieren können. Wenn das Feld git_remote_settings vorhanden ist, ist das Repository mit einem Remote-Git-Host verbunden. Das bedeutet, dass Sie für die Pipelineentwicklung arbeitsbereichbasierte Tools wie create_workspace oder commit_workspace_changes verwenden müssen. Wenn das Feld fehlt, wird das Repository von Google gehostet. Sie können Arbeitsbereiche in diesem Fall weiterhin für die Pipelineentwicklung verwenden. Direkte Repository-Tools wie commit_repository_changes werden nicht empfohlen, es sei denn, Sie verwalten Assets mit einzelnen Dateien.

Der Parameterwert name muss das Format projects/{project_id}/locations/{location}/repositories/{repository} haben.

Wenn Sie den genauen Namen des Repositorys nicht kennen, können Sie ihn mit dem Tool list_repositories herausfinden.

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool get_repository 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": "get_repository",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Eingabeschema

GetRepository-Anfragenachricht.

GetRepositoryRequest

JSON-Darstellung
{
  "name": string
}
Felder
name

string

Erforderlich. Der Name des Repositorys.

Ausgabeschema

Stellt ein Dataform-Git-Repository dar.

Repository

JSON-Darstellung
{
  "name": string,
  "createTime": string,
  "displayName": string,
  "gitRemoteSettings": {
    object (GitRemoteSettings)
  },
  "npmrcEnvironmentVariablesSecretVersion": string,
  "workspaceCompilationOverrides": {
    object (WorkspaceCompilationOverrides)
  },
  "labels": {
    string: string,
    ...
  },
  "setAuthenticatedUserAdmin": boolean,
  "serviceAccount": string,
  "kmsKeyName": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },

  // Union field _containing_folder can be only one of the following:
  "containingFolder": string
  // End of list of possible types for union field _containing_folder.

  // Union field _team_folder_name can be only one of the following:
  "teamFolderName": string
  // End of list of possible types for union field _team_folder_name.

  // 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

ID. Der Name des Repositorys.

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel für den Zeitpunkt, zu dem das Repository erstellt wurde.

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".

displayName

string

Optional. Der nutzerfreundliche Name des Repositorys.

gitRemoteSettings

object (GitRemoteSettings)

Optional. Wenn diese Option festgelegt ist, wird dieses Repository so konfiguriert, dass es mit einem Git-Remote-Repository verknüpft wird.

npmrcEnvironmentVariablesSecretVersion

string

Optional. Der Name der Secret Manager-Secret-Version, die zum Einfügen von Variablen in die .npmrc-Datei für die Paketinstallation verwendet werden soll. Muss das Format projects/*/secrets/*/versions/* aufweisen. Die Datei selbst muss im JSON-Format vorliegen.

workspaceCompilationOverrides

object (WorkspaceCompilationOverrides)

Optional. Wenn festgelegt, überschreiben Felder von workspace_compilation_overrides die Standardeinstellungen für die Kompilierung, die in „dataform.json“ angegeben sind, wenn Kompilierungsergebnisse auf Arbeitsbereichsebene erstellt werden. Weitere Informationen finden Sie in der Dokumentation zu WorkspaceCompilationOverrides.

labels

map (key: string, value: string)

Optional. Nutzerlabels für Repositorys.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

setAuthenticatedUserAdmin

boolean

Optional. Nur Eingabe. Wenn dieser Wert auf „true“ gesetzt ist, erhält der authentifizierte Nutzer die Rolle „roles/dataform.admin“ für das erstellte Repository. Wenn Sie den Zugriff auf das erstellte Repository später ändern möchten, wenden Sie „setIamPolicy“ aus https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories an.

serviceAccount

string

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

kmsKeyName

string

Optional. Der Verweis auf einen KMS-Verschlüsselungsschlüssel. Falls angegeben, wird sie zum Verschlüsseln von Nutzerdaten im Repository und allen untergeordneten Ressourcen verwendet. Der Verschlüsselungsschlüssel kann nach dem Erstellen des Repositorys nicht mehr hinzugefügt oder aktualisiert werden. Beispiel: projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}

dataEncryptionState

object (DataEncryptionState)

Nur Ausgabe. Der Datenverschlüsselungsstatus eines Git-Repositorys, wenn dieses Repository durch einen KMS-Schlüssel geschützt ist.

Union-Feld _containing_folder.

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

containingFolder

string

Optional. Der Name des übergeordneten Ordners des Repositorys. Das Feld ist unveränderlich und kann über den Vorgang „MoveRepository“ geändert werden. Format: projects/*/locations/*/folders/*. oder projects/*/locations/*/teamFolders/*.

Union-Feld _team_folder_name.

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

teamFolderName

string

Nur Ausgabe. Der Ressourcenname des Teamordners, dem dieses Repository zugeordnet ist. Muss das Format „projects/{project}/locations/{location}/teamFolders/{teamFolder}“ haben. Wenn dies nicht festgelegt ist, ist das Repository nicht mit einem Teamordner verknüpft.

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.

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).

GitRemoteSettings

JSON-Darstellung
{
  "url": string,
  "defaultBranch": string,
  "effectiveDefaultBranch": string,
  "authenticationTokenSecretVersion": string,
  "sshAuthenticationConfig": {
    object (SshAuthenticationConfig)
  },
  "tokenStatus": enum (TokenStatus),

  // Union field _git_repository_link can be only one of the following:
  "gitRepositoryLink": string
  // End of list of possible types for union field _git_repository_link.
}
Felder
url

string

Erforderlich. Die URL des Git-Remotes.

defaultBranch

string

Optional. Der Standardzweigname des Git-Remote-Repositorys. Wenn nicht festgelegt, wird main verwendet.

effectiveDefaultBranch

string

Nur Ausgabe. Der effektive Standardzweigname des Git-Remote-Repositorys. Dies ist der Standardzweigname des Git-Remote-Repositorys, sofern er festgelegt ist. Andernfalls ist es main.

authenticationTokenSecretVersion

string

Optional. Der Name der Secret Manager-Secret-Version, die als Authentifizierungstoken für Git-Vorgänge verwendet werden soll. Muss das Format projects/*/secrets/*/versions/* aufweisen.

sshAuthenticationConfig

object (SshAuthenticationConfig)

Optional. Authentifizierungsfelder für Remote-URIs mit dem SSH-Protokoll.

tokenStatus
(deprecated)

enum (TokenStatus)

Nur Ausgabe. Veraltet: Das Feld enthält keine Informationen zum Tokenstatus. Verwenden Sie stattdessen https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus.

Union-Feld _git_repository_link.

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

gitRepositoryLink

string

Optional. Ressourcenname für die GitRepositoryLink, die für Maschinenanmeldedaten verwendet wird. Muss im Format projects/*/locations/*/connections/*/gitRepositoryLinks/* vorliegen.

SshAuthenticationConfig

JSON-Darstellung
{
  "userPrivateKeySecretVersion": string,
  "hostPublicKey": string
}
Felder
userPrivateKeySecretVersion

string

Erforderlich. Der Name der Secret Manager-Secret-Version, die als privater SSH-Schlüssel für Git-Vorgänge verwendet werden soll. Muss das Format projects/*/secrets/*/versions/* aufweisen.

hostPublicKey

string

Erforderlich. Inhalt eines öffentlichen SSH-Schlüssels zum Bestätigen der Identität eines Remote-Git-Hosts.

WorkspaceCompilationOverrides

JSON-Darstellung
{
  "defaultDatabase": string,
  "schemaSuffix": string,
  "tablePrefix": string
}
Felder
defaultDatabase

string

Optional. Die Standarddatenbank (Google Cloud-Projekt-ID).

schemaSuffix

string

Optional. Das Suffix, das an alle Schemanamen (BigQuery-Dataset-ID) angehängt werden soll.

tablePrefix

string

Optional. Das Präfix, das allen Tabellennamen vorangestellt werden soll.

LabelsEntry

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

DataEncryptionState

JSON-Darstellung
{
  "kmsKeyVersionName": string
}
Felder
kmsKeyVersionName

string

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

TokenStatus

Der Status des Authentifizierungstokens.

Enums
TOKEN_STATUS_UNSPECIFIED Standardwert. Dieser Wert wird nicht verwendet.
NOT_FOUND Das Token konnte in Secret Manager nicht gefunden werden oder das Dataform-Dienstkonto hatte keine Berechtigung für den Zugriff darauf.
INVALID Das Token konnte nicht zur Authentifizierung beim Git-Remote verwendet werden.
VALID Das Token wurde erfolgreich zur Authentifizierung beim Git-Remote verwendet.

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