Tool: create_repository
Erstellt ein neues Dataform-Repository in einem bestimmten Google Cloud-Projekt und an einem bestimmten Standort.
Mit diesem Tool wird die Stammressource erstellt, die für alle anderen Transformations-Assets erforderlich ist, z. B. Kompilierungsergebnisse und Workflowkonfigurationen. Ein Repository muss erstellt werden, bevor ein anderes Dataform MCP-Tool verwendet werden kann. Die Aktivierung dieses Tools ist der erste Schritt beim Einrichten eines Dataform-Projekts.
Der Parameterwert parent muss das Format projects/{project_id}/locations/{location} haben.
Der Parameterwert repository_id ist die ID, die für das Repository verwendet werden soll.
Lassen Sie den Parameter strictActAsChecks weg, damit er in einem neuen Repository nicht festgelegt wird. Beachten Sie, dass für neue Projekte standardmäßig strenge „Act-as“-Prüfungen erzwungen werden. Für die Ausführung eines Workflows in diesem Repository ist daher ein benutzerdefiniertes Dienstkonto erforderlich.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool create_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": "create_repository", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
CreateRepository-Anfragenachricht.
CreateRepositoryRequest
| JSON-Darstellung |
|---|
{
"parent": string,
"repository": {
object ( |
| Felder | |
|---|---|
parent |
Erforderlich. Der Speicherort, an dem das Repository erstellt werden soll. Muss das Format |
repository |
Erforderlich. Das zu erstellende Repository. |
repositoryId |
Erforderlich. Die für das Repository zu verwendende ID, die als letzte Komponente des Ressourcennamens des Repositorys verwendet wird. |
Repository
| JSON-Darstellung |
|---|
{ "name": string, "createTime": string, "displayName": string, "gitRemoteSettings": { object ( |
| Felder | |
|---|---|
name |
ID. Der Name des Repositorys. |
createTime |
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: |
displayName |
Optional. Der nutzerfreundliche Name des Repositorys. |
gitRemoteSettings |
Optional. Wenn diese Option festgelegt ist, wird dieses Repository so konfiguriert, dass es mit einem Git-Remote-Repository verknüpft wird. |
npmrcEnvironmentVariablesSecretVersion |
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 |
workspaceCompilationOverrides |
Optional. Wenn festgelegt, überschreiben Felder von |
labels |
Optional. Nutzerlabels für Repositorys. Ein Objekt, das eine Liste von |
setAuthenticatedUserAdmin |
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 |
Optional. Das Dienstkonto, unter dem Workflow-Aufrufe ausgeführt werden. |
kmsKeyName |
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: |
dataEncryptionState |
Nur Ausgabe. Der Datenverschlüsselungsstatus eines Git-Repositorys, wenn dieses Repository durch einen KMS-Schlüssel geschützt ist. |
Union-Feld Für |
|
containingFolder |
Optional. Der Name des übergeordneten Ordners des Repositorys. Das Feld ist unveränderlich und kann über den Vorgang „MoveRepository“ geändert werden. Format: |
Union-Feld Für |
|
teamFolderName |
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 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. |
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). |
GitRemoteSettings
| JSON-Darstellung |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| Felder | |
|---|---|
url |
Erforderlich. Die URL des Git-Remotes. |
defaultBranch |
Optional. Der Standardzweigname des Git-Remote-Repositorys. Wenn nicht festgelegt, wird |
effectiveDefaultBranch |
Nur Ausgabe. Der effektive Standardzweigname des Git-Remote-Repositorys. Dies ist der Standardzweigname des Git-Remote-Repositorys, sofern er festgelegt ist. Andernfalls ist es |
authenticationTokenSecretVersion |
Optional. Der Name der Secret Manager-Secret-Version, die als Authentifizierungstoken für Git-Vorgänge verwendet werden soll. Muss das Format |
sshAuthenticationConfig |
Optional. Authentifizierungsfelder für Remote-URIs mit dem SSH-Protokoll. |
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 Für |
|
gitRepositoryLink |
Optional. Ressourcenname für die |
SshAuthenticationConfig
| JSON-Darstellung |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| Felder | |
|---|---|
userPrivateKeySecretVersion |
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 |
hostPublicKey |
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 |
Optional. Die Standarddatenbank (Google Cloud-Projekt-ID). |
schemaSuffix |
Optional. Das Suffix, das an alle Schemanamen (BigQuery-Dataset-ID) angehängt werden soll. |
tablePrefix |
Optional. Das Präfix, das allen Tabellennamen vorangestellt werden soll. |
LabelsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": string } |
| Felder | |
|---|---|
key |
|
value |
|
DataEncryptionState
| JSON-Darstellung |
|---|
{ "kmsKeyVersionName": string } |
| Felder | |
|---|---|
kmsKeyVersionName |
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. |
Ausgabeschema
Stellt ein Dataform-Git-Repository dar.
Repository
| JSON-Darstellung |
|---|
{ "name": string, "createTime": string, "displayName": string, "gitRemoteSettings": { object ( |
| Felder | |
|---|---|
name |
ID. Der Name des Repositorys. |
createTime |
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: |
displayName |
Optional. Der nutzerfreundliche Name des Repositorys. |
gitRemoteSettings |
Optional. Wenn diese Option festgelegt ist, wird dieses Repository so konfiguriert, dass es mit einem Git-Remote-Repository verknüpft wird. |
npmrcEnvironmentVariablesSecretVersion |
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 |
workspaceCompilationOverrides |
Optional. Wenn festgelegt, überschreiben Felder von |
labels |
Optional. Nutzerlabels für Repositorys. Ein Objekt, das eine Liste von |
setAuthenticatedUserAdmin |
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 |
Optional. Das Dienstkonto, unter dem Workflow-Aufrufe ausgeführt werden. |
kmsKeyName |
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: |
dataEncryptionState |
Nur Ausgabe. Der Datenverschlüsselungsstatus eines Git-Repositorys, wenn dieses Repository durch einen KMS-Schlüssel geschützt ist. |
Union-Feld Für |
|
containingFolder |
Optional. Der Name des übergeordneten Ordners des Repositorys. Das Feld ist unveränderlich und kann über den Vorgang „MoveRepository“ geändert werden. Format: |
Union-Feld Für |
|
teamFolderName |
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 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. |
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). |
GitRemoteSettings
| JSON-Darstellung |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| Felder | |
|---|---|
url |
Erforderlich. Die URL des Git-Remotes. |
defaultBranch |
Optional. Der Standardzweigname des Git-Remote-Repositorys. Wenn nicht festgelegt, wird |
effectiveDefaultBranch |
Nur Ausgabe. Der effektive Standardzweigname des Git-Remote-Repositorys. Dies ist der Standardzweigname des Git-Remote-Repositorys, sofern er festgelegt ist. Andernfalls ist es |
authenticationTokenSecretVersion |
Optional. Der Name der Secret Manager-Secret-Version, die als Authentifizierungstoken für Git-Vorgänge verwendet werden soll. Muss das Format |
sshAuthenticationConfig |
Optional. Authentifizierungsfelder für Remote-URIs mit dem SSH-Protokoll. |
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 Für |
|
gitRepositoryLink |
Optional. Ressourcenname für die |
SshAuthenticationConfig
| JSON-Darstellung |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| Felder | |
|---|---|
userPrivateKeySecretVersion |
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 |
hostPublicKey |
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 |
Optional. Die Standarddatenbank (Google Cloud-Projekt-ID). |
schemaSuffix |
Optional. Das Suffix, das an alle Schemanamen (BigQuery-Dataset-ID) angehängt werden soll. |
tablePrefix |
Optional. Das Präfix, das allen Tabellennamen vorangestellt werden soll. |
LabelsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": string } |
| Felder | |
|---|---|
key |
|
value |
|
DataEncryptionState
| JSON-Darstellung |
|---|
{ "kmsKeyVersionName": string } |
| Felder | |
|---|---|
kmsKeyVersionName |
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: ❌