Strumento: clone_instance
Crea un'istanza Cloud SQL come clone di un'istanza di origine.
- Questo strumento restituisce un'operazione a lunga esecuzione. Utilizza lo strumento
get_operationper eseguire il polling del suo stato fino al completamento dell'operazione. - L'operazione di clonazione può richiedere diversi minuti. Utilizza uno strumento a riga di comando per mettere in pausa per 30 secondi prima di ricontrollare lo stato.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP clone_instance.
| Curl Request |
|---|
curl --location 'https://sqladmin.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "clone_instance", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Richiesta di clonazione dell'istanza.
SqlInstancesCloneRequest
| Rappresentazione JSON |
|---|
{
"instance": string,
"project": string,
"body": {
object ( |
| Campi | |
|---|---|
instance |
Obbligatorio. L'ID dell'istanza Cloud SQL da clonare (origine). L'ID progetto non è incluso. |
project |
Obbligatorio. ID progetto dell'origine e dell'istanza Cloud SQL clone. |
body |
|
InstancesCloneRequest
| Rappresentazione JSON |
|---|
{
"cloneContext": {
object ( |
| Campi | |
|---|---|
cloneContext |
Obbligatorio. Contiene i dettagli dell'operazione di clonazione. |
CloneContext
| Rappresentazione JSON |
|---|
{ "kind": string, "pitrTimestampMs": string, "destinationInstanceName": string, "binLogCoordinates": { object ( |
| Campi | |
|---|---|
kind |
Questo valore è sempre |
pitrTimestampMs |
Riservato per l'uso futuro. |
destinationInstanceName |
Obbligatorio. Nome dell'istanza Cloud SQL da creare come clone. |
binLogCoordinates |
Le coordinate del log binario, se specificate, identificano la posizione fino alla quale viene clonata l'istanza di origine. Se non specificato, l'istanza di origine viene clonata fino alle coordinate del log binario più recente. |
pointInTime |
Il timestamp, se specificato, identifica l'ora in cui viene clonata l'istanza di origine. 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: |
allocatedIpRange |
Il nome dell'intervallo IP allocato per l'istanza Cloud SQL con IP privato. Ad esempio: "google-managed-services-default". Se impostato, l'IP dell'istanza clonata verrà creato nell'intervallo allocato. Il nome dell'intervallo deve essere conforme a RFC 1035. Nello specifico, il nome deve avere una lunghezza compresa tra 1 e 63 caratteri e corrispondere all'espressione regolare a-z?. Riservato per l'uso futuro. |
databaseNames[] |
(Solo SQL Server) Clona solo i database specificati dall'istanza di origine. Clona tutti i database se vuoti. |
Campo unione
|
|
preferredZone |
Facoltativo. Copia il clone e il clone di recupero point-in-time di un'istanza nella zona specificata. Se non viene specificata alcuna zona, esegui la clonazione nella stessa zona primaria dell'istanza di origine. Questo campo si applica a tutti i tipi di database. |
Campo unione
|
|
preferredSecondaryZone |
Facoltativo. Copia clone e clone di recupero point-in-time di un'istanza regionale nelle zone specificate. Se non specificato, il clone viene creato nella stessa zona secondaria dell'istanza di origine. Questo valore non può essere uguale a quello del campo preferred_zone. Questo campo si applica a tutti i tipi di database. |
Campo unione
|
|
sourceInstanceDeletionTime |
Il timestamp utilizzato per identificare il momento in cui viene eliminata l'istanza di origine. Se questa istanza viene eliminata, devi impostare il timestamp. 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: |
Campo unione
|
|
destinationProject |
Facoltativo. L'ID progetto del progetto di destinazione in cui verrà creata l'istanza clonata. Per eseguire una clonazione tra progetti, questo campo è obbligatorio. Se non specificato, il clone viene creato nello stesso progetto dell'istanza di origine. |
Campo unione
|
|
destinationNetwork |
Facoltativo. L'URI completo della rete VPC a cui verrà connessa l'istanza clonata tramite l'accesso privato ai servizi per l'IP privato. Ad esempio: |
BinLogCoordinates
| Rappresentazione JSON |
|---|
{ "binLogFileName": string, "binLogPosition": string, "kind": string } |
| Campi | |
|---|---|
binLogFileName |
Nome del file di log binario per un'istanza Cloud SQL. |
binLogPosition |
Posizione (offset) all'interno del file di log binario. |
kind |
Questo valore è sempre |
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. |
Schema di output
Una risorsa Operation. Per le operazioni riuscite che restituiscono una risorsa Operation, nella risorsa vengono compilati solo i campi pertinenti all'operazione.
Operazione
| Rappresentazione JSON |
|---|
{ "kind": string, "targetLink": string, "status": enum ( |
| Campi | |
|---|---|
kind |
Questo valore è sempre |
targetLink |
|
status |
Lo stato di un'operazione. |
user |
L'indirizzo email dell'utente che ha avviato questa operazione. |
insertTime |
L'ora in cui questa operazione è stata inserita nella coda nel fuso orario UTC in formato RFC 3339, ad esempio 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: |
startTime |
L'ora in cui è iniziata effettivamente questa operazione nel fuso orario UTC in formato RFC 3339, ad esempio 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: |
endTime |
L'ora in cui è terminata questa operazione nel fuso orario UTC nel formato RFC 3339, ad esempio 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: |
error |
Se si sono verificati errori durante l'elaborazione di questa operazione, questo campo verrà compilato. |
apiWarning |
Un messaggio di avviso dell'API Admin. |
operationType |
Il tipo di operazione. I valori validi sono: * |
importContext |
Il contesto per l'operazione di importazione, se applicabile. |
exportContext |
Il contesto dell'operazione di esportazione, se applicabile. |
backupContext |
Il contesto dell'operazione di backup, se applicabile. |
preCheckMajorVersionUpgradeContext |
Questo campo viene compilato solo quando operation_type è PRE_CHECK_MAJOR_VERSION_UPGRADE. Il messaggio PreCheckMajorVersionUpgradeContext contiene i dettagli del controllo preliminare, ad esempio la versione del database di destinazione per l'upgrade e i risultati del controllo (inclusi eventuali avvisi o errori rilevati). |
name |
Un identificatore univoco dell'operazione. Puoi utilizzare questo identificatore per recuperare la risorsa Operations che contiene informazioni sull'operazione. |
targetId |
Il nome della risorsa su cui viene eseguita questa operazione. |
selfLink |
L'URI di questa risorsa. |
targetProject |
L'ID progetto dell'istanza di destinazione correlata a questa operazione. |
acquireSsrsLeaseContext |
Il contesto per l'operazione di acquisizione del lease SSRS, se applicabile. |
subOperationType |
Facoltativo. L'operazione secondaria in base al tipo di operazione. |
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. |
OperationErrors
| Rappresentazione JSON |
|---|
{
"kind": string,
"errors": [
{
object ( |
| Campi | |
|---|---|
kind |
Questo valore è sempre |
errors[] |
L'elenco degli errori riscontrati durante l'elaborazione di questa operazione. |
OperationError
| Rappresentazione JSON |
|---|
{ "kind": string, "code": string, "message": string } |
| Campi | |
|---|---|
kind |
Questo valore è sempre |
code |
Identifica l'errore specifico che si è verificato. |
message |
Informazioni aggiuntive sull'errore riscontrato. |
ApiWarning
| Rappresentazione JSON |
|---|
{
"code": enum ( |
| Campi | |
|---|---|
code |
Codice per identificare in modo univoco il tipo di avviso. |
message |
Il messaggio di avviso. |
region |
Il nome della regione per l'avviso REGION_UNREACHABLE. |
ImportContext
| Rappresentazione JSON |
|---|
{ "uri": string, "database": string, "kind": string, "fileType": enum ( |
| Campi | |
|---|---|
uri |
Percorso del file di importazione in Cloud Storage, nel formato |
database |
Il database di destinazione per l'importazione. Se |
kind |
Questo valore è sempre |
fileType |
Il tipo di file per l'URI specificato.`SQL |
csvImportOptions |
Opzioni per importare i dati in formato CSV. |
importUser |
Utente di PostgreSQL per questa operazione di importazione. Solo istanze PostgreSQL. |
bakImportOptions |
Parametri di importazione specifici per i file .BAK di SQL Server |
sqlImportOptions |
Facoltativo. Opzioni per importare i dati dalle istruzioni SQL. |
tdeImportOptions |
Facoltativo. Importa i parametri specifici per i certificati TDE di SQL Server |
SqlCsvImportOptions
| Rappresentazione JSON |
|---|
{ "table": string, "columns": [ string ], "escapeCharacter": string, "quoteCharacter": string, "fieldsTerminatedBy": string, "linesTerminatedBy": string } |
| Campi | |
|---|---|
table |
La tabella in cui vengono importati i dati CSV. |
columns[] |
Le colonne in cui vengono importati i dati CSV. Se non specificate, tutte le colonne della tabella del database vengono caricate con i dati CSV. |
escapeCharacter |
Specifica il carattere che deve essere visualizzato prima di un carattere di dati che deve essere sottoposto a escape. |
quoteCharacter |
Specifica il carattere di citazione da utilizzare quando un valore di dati è citato. |
fieldsTerminatedBy |
Specifica il carattere che separa le colonne all'interno di ogni riga (linea) del file. |
linesTerminatedBy |
Viene utilizzato per separare le righe. Se una riga non contiene tutti i campi, le restanti colonne vengono impostate sui valori predefiniti. |
SqlBakImportOptions
| Rappresentazione JSON |
|---|
{ "encryptionOptions": { object ( |
| Campi | |
|---|---|
encryptionOptions |
|
striped |
Indica se il set di backup in fase di ripristino è suddiviso in bande. Si applica solo a Cloud SQL per SQL Server. |
noRecovery |
Indica se l'importazione del backup ripristinerà il database con l'opzione NORECOVERY. Si applica solo a Cloud SQL per SQL Server. |
recoveryOnly |
Indica se la richiesta di importazione del backup porterà online il database senza scaricare i contenuti Bak. Solo uno dei valori "no_recovery" e "recovery_only" può essere true, altrimenti verrà restituito un errore. Si applica solo a Cloud SQL per SQL Server. |
bakType |
Tipo di contenuti bak, FULL o DIFF |
stopAt |
Facoltativo. Il timestamp in cui l'importazione deve interrompersi. Questo timestamp è nel formato RFC 3339 (ad esempio, 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: |
stopAtMark |
Facoltativo. La transazione contrassegnata in cui deve interrompersi l'importazione. Questo campo è equivalente alla parola chiave STOPATMARK e si applica solo a Cloud SQL per SQL Server. |
EncryptionOptions
| Rappresentazione JSON |
|---|
{ "certPath": string, "pvkPath": string, "pvkPassword": string, "keepEncrypted": boolean } |
| Campi | |
|---|---|
certPath |
Percorso del certificato (.cer) in Cloud Storage, nel formato |
pvkPath |
Percorso della chiave privata del certificato (.pvk) in Cloud Storage, nel formato |
pvkPassword |
Password che cripta la chiave privata |
keepEncrypted |
Facoltativo. Indica se il file importato rimane criptato. |
BoolValue
| Rappresentazione JSON |
|---|
{ "value": boolean } |
| Campi | |
|---|---|
value |
Il valore booleano. |
SqlImportOptions
| Rappresentazione JSON |
|---|
{
"threads": integer,
"parallel": boolean,
"postgresImportOptions": {
object ( |
| Campi | |
|---|---|
threads |
Facoltativo. Il numero di thread da utilizzare per l'importazione parallela. |
parallel |
Facoltativo. Indica se l'importazione deve essere parallela o meno. |
postgresImportOptions |
Facoltativo. Opzioni per l'importazione da un'istanza Cloud SQL per PostgreSQL. |
Int32Value
| Rappresentazione JSON |
|---|
{ "value": integer } |
| Campi | |
|---|---|
value |
Il valore int32. |
PostgresImportOptions
| Rappresentazione JSON |
|---|
{ "clean": boolean, "ifExists": boolean } |
| Campi | |
|---|---|
clean |
Facoltativo. Il flag --clean per l'utilità pg_restore. Questo flag si applica solo se hai abilitato Cloud SQL per importare i file in parallelo. |
ifExists |
Facoltativo. Il flag --if-exists per l'utilità pg_restore. Questo flag si applica solo se hai abilitato Cloud SQL per importare i file in parallelo. |
SqlTdeImportOptions
| Rappresentazione JSON |
|---|
{ "certificatePath": string, "privateKeyPath": string, "privateKeyPassword": string, "name": string } |
| Campi | |
|---|---|
certificatePath |
Obbligatorio. Percorso della chiave pubblica del certificato TDE nel formato gs://bucketName/fileName. L'istanza deve disporre dell'accesso in lettura al file. Applicabile solo alle istanze SQL Server. |
privateKeyPath |
Obbligatorio. Percorso della chiave privata del certificato TDE nel formato gs://bucketName/fileName. L'istanza deve disporre dell'accesso in lettura al file. Applicabile solo alle istanze SQL Server. |
privateKeyPassword |
Obbligatorio. Password che cripta la chiave privata. |
name |
Obbligatorio. Nome del certificato. Applicabile solo alle istanze SQL Server. |
ExportContext
| Rappresentazione JSON |
|---|
{ "uri": string, "databases": [ string ], "kind": string, "sqlExportOptions": { object ( |
| Campi | |
|---|---|
uri |
Il percorso del file in Google Cloud Storage in cui verrà archiviata l'esportazione. L'URI è nel formato |
databases[] |
Database da esportare. |
kind |
Questo valore è sempre |
sqlExportOptions |
Opzioni per l'esportazione dei dati come istruzioni SQL. |
csvExportOptions |
Opzioni per l'esportazione dei dati in formato CSV. Solo istanze |
fileType |
Il tipo di file per l'URI specificato. |
offload |
Indica se eseguire un'esportazione serverless. |
bakExportOptions |
Opzioni per l'esportazione dei dati come file BAK. |
tdeExportOptions |
Facoltativo. Esporta i parametri specifici per i certificati TDE di SQL Server |
SqlExportOptions
| Rappresentazione JSON |
|---|
{ "tables": [ string ], "schemaOnly": boolean, "mysqlExportOptions": { object ( |
| Campi | |
|---|---|
tables[] |
Tabelle da esportare o che sono state esportate dal database specificato. Se specifichi le tabelle, specifica un solo database. Per le istanze PostgreSQL, puoi specificare una sola tabella. |
schemaOnly |
Esporta solo gli schemi. |
mysqlExportOptions |
|
threads |
Facoltativo. Il numero di thread da utilizzare per l'esportazione parallela. |
parallel |
Facoltativo. Indica se l'esportazione deve essere parallela o meno. |
postgresExportOptions |
Facoltativo. Opzioni per l'esportazione da un'istanza Cloud SQL per PostgreSQL. |
MysqlExportOptions
| Rappresentazione JSON |
|---|
{ "masterData": integer } |
| Campi | |
|---|---|
masterData |
Opzione per includere l'istruzione SQL necessaria per configurare la replica. Se impostato su |
PostgresExportOptions
| Rappresentazione JSON |
|---|
{ "clean": boolean, "ifExists": boolean } |
| Campi | |
|---|---|
clean |
Facoltativo. Utilizza questa opzione per includere DROP
istruzioni SQL. Utilizza queste istruzioni per eliminare gli oggetti del database prima di eseguire l'operazione di importazione. |
ifExists |
Facoltativo. Opzione per includere un'istruzione SQL IF EXISTS con ogni istruzione DROP prodotta da clean. |
SqlCsvExportOptions
| Rappresentazione JSON |
|---|
{ "selectQuery": string, "escapeCharacter": string, "quoteCharacter": string, "fieldsTerminatedBy": string, "linesTerminatedBy": string } |
| Campi | |
|---|---|
selectQuery |
La query SELECT utilizzata per estrarre i dati. |
escapeCharacter |
Specifica il carattere che deve essere visualizzato prima di un carattere di dati che deve essere sottoposto a escape. |
quoteCharacter |
Specifica il carattere di citazione da utilizzare quando un valore di dati è citato. |
fieldsTerminatedBy |
Specifica il carattere che separa le colonne all'interno di ogni riga (linea) del file. |
linesTerminatedBy |
Viene utilizzato per separare le righe. Se una riga non contiene tutti i campi, le restanti colonne vengono impostate sui valori predefiniti. |
SqlBakExportOptions
| Rappresentazione JSON |
|---|
{
"striped": boolean,
"stripeCount": integer,
"bakType": enum ( |
| Campi | |
|---|---|
striped |
Indica se l'esportazione deve essere suddivisa in strisce. |
stripeCount |
Opzione per specificare il numero di strisce da utilizzare per l'esportazione. Se è vuoto e il valore del campo a strisce è true, il numero di strisce viene scelto automaticamente. |
bakType |
Il tipo di questo file bak sarà export, FULL o DIFF, solo SQL Server |
copyOnly |
Deprecato: copy_only è deprecato. Usa invece differential_base |
differentialBase |
Indica se il backup può essere utilizzato come backup differenziale di sola copia. |
exportLogStartTime |
Facoltativo. Il timestamp di inizio in cui il log delle transazioni verrà incluso nell'operazione di esportazione. Formato RFC 3339 (ad esempio, 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: |
exportLogEndTime |
Facoltativo. Il timestamp finale in cui il log delle transazioni verrà incluso nell'operazione di esportazione. Formato RFC 3339 (ad esempio, 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: |
SqlTdeExportOptions
| Rappresentazione JSON |
|---|
{ "certificatePath": string, "privateKeyPath": string, "privateKeyPassword": string, "name": string } |
| Campi | |
|---|---|
certificatePath |
Obbligatorio. Percorso della chiave pubblica del certificato TDE nel formato gs://bucketName/fileName. L'istanza deve disporre dell'accesso in scrittura al bucket. Applicabile solo alle istanze SQL Server. |
privateKeyPath |
Obbligatorio. Percorso della chiave privata del certificato TDE nel formato gs://bucketName/fileName. L'istanza deve disporre dell'accesso in scrittura alla posizione. Applicabile solo alle istanze SQL Server. |
privateKeyPassword |
Obbligatorio. Password che cripta la chiave privata. |
name |
Obbligatorio. Nome del certificato. Applicabile solo alle istanze SQL Server. |
BackupContext
| Rappresentazione JSON |
|---|
{ "backupId": string, "kind": string, "name": string } |
| Campi | |
|---|---|
backupId |
L'identificatore del backup. |
kind |
Questo valore è sempre |
name |
Il nome del backup. Formato: projects/{project}/backups/{backup} |
PreCheckMajorVersionUpgradeContext
| Rappresentazione JSON |
|---|
{ "targetDatabaseVersion": enum ( |
| Campi | |
|---|---|
targetDatabaseVersion |
Obbligatorio. La versione del database di destinazione di cui eseguire l'upgrade. |
preCheckResponse[] |
Solo output. Le risposte dell'operazione di precontrollo. |
kind |
Facoltativo. Questo valore è sempre |
PreCheckResponse
| Rappresentazione JSON |
|---|
{ "actionsRequired": [ string ], // Union field |
| Campi | |
|---|---|
actionsRequired[] |
Le azioni che l'utente deve intraprendere. Utilizza ripetuto per più azioni. |
Campo unione
|
|
message |
Il messaggio da mostrare all'utente. |
Campo unione
|
|
messageType |
Il tipo di messaggio, che può essere informativo, di avviso o di errore. |
AcquireSsrsLeaseContext
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione
|
|
setupLogin |
Il nome utente da utilizzare come accesso di configurazione per connettersi al server di database per la configurazione di SSRS. |
Campo unione
|
|
serviceLogin |
Il nome utente da utilizzare come accesso al servizio per connettersi al database dei report per la configurazione di SSRS. |
Campo unione
|
|
reportDatabase |
Il database dei report da utilizzare per la configurazione di SSRS. |
Campo unione
|
|
duration |
Durata del lease necessaria per la configurazione di SSRS. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
Durata
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Secondi firmati dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati in base a: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni |
nanos |
Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo |
SqlSubOperationType
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione sub_operation_details. Dettagli dell'operazione secondaria corrispondenti al tipo di operazione. sub_operation_details può essere solo uno dei seguenti tipi: |
|
maintenanceType |
Il tipo di manutenzione da eseguire sull'istanza. |
Annotazioni dello strumento
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌