Strumento: get_repository
Recupera un singolo repository Dataform, incluse le impostazioni Git remote, gli override di compilazione dello spazio di lavoro e l'account di servizio predefinito.
Utilizza questo strumento per controllare il campo git_remote_settings e determinare come interagire con il repository. Se è presente il campo git_remote_settings, il repository è connesso a un host Git remoto, il che significa che devi utilizzare strumenti basati sullo spazio di lavoro per lo sviluppo di pipeline, come create_workspace o commit_workspace_changes. Se il campo non è presente, il repository è ospitato da Google. In questo caso, puoi comunque utilizzare gli spazi di lavoro per lo sviluppo della pipeline. Gli strumenti di repository diretti come commit_repository_changes non sono consigliati, a meno che tu non gestisca asset a file singolo.
Il valore parametro name deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}.
Se non conosci il nome esatto del repository, utilizza lo strumento list_repositories per trovarlo.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP get_repository.
| Richiesta 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": "get_repository", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
GetRepository messaggio di richiesta.
GetRepositoryRequest
| Rappresentazione JSON |
|---|
{ "name": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome del repository. |
Schema di output
Rappresenta un repository Git Dataform.
Repository
| Rappresentazione JSON |
|---|
{ "name": string, "createTime": string, "displayName": string, "gitRemoteSettings": { object ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome del repository. |
createTime |
Solo output. Il timestamp di creazione del repository. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
displayName |
Facoltativo. Il nome intuitivo del repository. |
gitRemoteSettings |
Facoltativo. Se impostato, configura questo repository in modo che sia collegato a un Git remoto. |
npmrcEnvironmentVariablesSecretVersion |
Facoltativo. Il nome della versione del secret di Secret Manager da utilizzare per interpolare le variabili nel file .npmrc per le operazioni di installazione dei pacchetti. Deve essere nel formato |
workspaceCompilationOverrides |
Facoltativo. Se impostati, i campi di |
labels |
Facoltativo. Etichette utente del repository. Un oggetto contenente un elenco di coppie |
setAuthenticatedUserAdmin |
Facoltativo. Solo input. Se impostata su true, all'utente autenticato verrà concesso il ruolo roles/dataform.admin nel repository creato. Per modificare l'accesso al repository creato in un secondo momento, applica setIamPolicy da https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories |
serviceAccount |
Facoltativo. Il account di servizio con cui eseguire le chiamate del flusso di lavoro. |
kmsKeyName |
Facoltativo. Il riferimento a una chiave di crittografia KMS. Se fornita, verrà utilizzata per criptare i dati utente nel repository e in tutte le risorse secondarie. Non è possibile aggiungere o aggiornare la chiave di crittografia dopo la creazione del repository. Esempio: |
dataEncryptionState |
Solo output. Lo stato di crittografia dei dati di un repository Git se questo repository è protetto da una chiave KMS. |
Campo unione
|
|
containingFolder |
Facoltativo. Il nome della cartella contenente il repository. Il campo è immutabile e può essere modificato tramite un'operazione MoveRepository. Formato: |
Campo unione
|
|
teamFolderName |
Solo output. Il nome della risorsa del TeamFolder a cui è associato questo repository. Deve avere il seguente formato: projects/{project}/locations/{location}/teamFolders/{teamFolder}. Se non è impostato, il repository non è associato a una cartella del team. |
Campo unione
|
|
internalMetadata |
Solo output. Tutte le informazioni sui metadati utilizzate internamente per pubblicare la risorsa. Ad esempio, timestamp, flag, campi di stato e così via. Il formato di questo campo è una stringa JSON. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
GitRemoteSettings
| Rappresentazione JSON |
|---|
{ "url": string, "defaultBranch": string, "effectiveDefaultBranch": string, "authenticationTokenSecretVersion": string, "sshAuthenticationConfig": { object ( |
| Campi | |
|---|---|
url |
Obbligatorio. L'URL del repository Git remoto. |
defaultBranch |
Facoltativo. Il nome del ramo predefinito del repository Git remoto. Se non viene impostato, verrà utilizzato |
effectiveDefaultBranch |
Solo output. Il nome del ramo predefinito effettivo del repository Git remoto. Se impostato, questo è il nome del branch predefinito del Git remoto, altrimenti è |
authenticationTokenSecretVersion |
Facoltativo. Il nome della versione del secret di Secret Manager da utilizzare come token di autenticazione per le operazioni Git. Deve essere nel formato |
sshAuthenticationConfig |
Facoltativo. Campi di autenticazione per URI remoti che utilizzano il protocollo SSH. |
tokenStatus |
Solo output. Obsoleto: il campo non contiene informazioni sullo stato del token. Utilizza invece https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus |
Campo unione
|
|
gitRepositoryLink |
Facoltativo. Nome della risorsa per |
SshAuthenticationConfig
| Rappresentazione JSON |
|---|
{ "userPrivateKeySecretVersion": string, "hostPublicKey": string } |
| Campi | |
|---|---|
userPrivateKeySecretVersion |
Obbligatorio. Il nome della versione del secret Secret Manager da utilizzare come chiave privata SSH per le operazioni Git. Deve essere nel formato |
hostPublicKey |
Obbligatorio. Contenuto di una chiave SSH pubblica per verificare l'identità di un host Git remoto. |
WorkspaceCompilationOverrides
| Rappresentazione JSON |
|---|
{ "defaultDatabase": string, "schemaSuffix": string, "tablePrefix": string } |
| Campi | |
|---|---|
defaultDatabase |
Facoltativo. Il database predefinito (ID progetto Google Cloud). |
schemaSuffix |
Facoltativo. Il suffisso da aggiungere a tutti i nomi degli schemi (ID set di dati BigQuery). |
tablePrefix |
Facoltativo. Il prefisso da aggiungere all'inizio di tutti i nomi delle tabelle. |
LabelsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
DataEncryptionState
| Rappresentazione JSON |
|---|
{ "kmsKeyVersionName": string } |
| Campi | |
|---|---|
kmsKeyVersionName |
Obbligatorio. Il nome della versione della chiave KMS con cui vengono criptati i dati di una risorsa. |
TokenStatus
Lo stato del token di autenticazione.
| Enum | |
|---|---|
TOKEN_STATUS_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
NOT_FOUND |
Il token non è stato trovato in Secret Manager (o l'account di servizio Dataform non disponeva dell'autorizzazione per accedervi). |
INVALID |
Il token non può essere utilizzato per l'autenticazione rispetto al repository Git remoto. |
VALID |
Il token è stato utilizzato correttamente per l'autenticazione con il repository Git remoto. |
Annotazioni dello strumento
Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare a un utente una richiesta di conferma.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria no.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌