Ogni voce di metadati viene archiviata sul server dei metadati come coppia chiave-valore in coppia. Le chiavi dei metadati sono sensibili alle maiuscole. Le chiavi possono essere predefinite o chiavi di metadati personalizzate.
I metadati personalizzati consentono di creare e utilizzare le tue coppie chiave-valore di metadati su di una singola VM o di un progetto. Puoi aggiungere nuove chiavi di metadati personalizzate, aggiornare i valori dei tuoi chiavi esistenti e rimuovi tutte le voci di metadati personalizzati quando non ti servono. L'impostazione di metadati personalizzati è utile per trasferire valori arbitrari alle VM in un progetto. È utile anche per creare startup e script di arresto.
Questo documento fornisce informazioni su come:
- Aggiungere o aggiornare metadati personalizzati sulle VM
- Rimuovere i metadati personalizzati dalle VM
Prima di iniziare
- Rivedi le nozioni di base su come vengono definiti i metadati della VM per Compute Engine. categorizzati e organizzati. Per ulteriori informazioni, vedi Informazioni sui metadati della VM.
-
Se non l'hai già fatto, configura l'autenticazione.
Autenticazione è
Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) sulla VM o sul progetto -
Se le VM utilizzano account di servizio:
Utente account di servizio (
roles/iam.serviceAccountUser
) nell'account di servizio o nel progetto -
Se le VM utilizzano account di servizio:
iam.serviceAccounts.actAs
-
Per aggiungere, aggiornare o rimuovere i metadati di progetto personalizzati:
-
compute.projects.get
-
compute.projects.setCommonInstanceMetadata
-
-
Per aggiungere, aggiornare o rimuovere i metadati di zona personalizzati:
-
compute.instanceSettings.get
-
compute.instanceSettings.update
-
-
Per aggiungere, aggiornare o rimuovere i metadati dell'istanza personalizzata:
-
compute.instances.get
-
compute.instances.setMetadata
-
- Ogni metadati
key
ha un limite massimo di 128 byte. Ogni metadato
key
è sensibile alle maiuscole.Per i metadati di zona, Compute Engine non consente creano due chiavi di metadati separate con la stessa stringa, anche se sono scritte in diversi casi. Ad esempio, se disponi di una chiave di metadati per i metadati di zona denominata
project-zonal-metadata-key
, quindi per i metadati di zona in quella zona, non puoi creare nuove chiavi di metadati,Project-Zonal-Metadata-Key
,PROJECT-ZONAL-METADATA-KEY
o altro varianti della stessa stringa.Ogni
value
metadati ha un limite massimo di 256 kB.Ogni metadato
value
fa distinzione tra maiuscole e minuscole, ad eccezione dei valori booleani.- Imposta metadati di progetto personalizzati da aggiungere o aggiornare i metadati di progetto personalizzati per tutte le VM nel tuo progetto.
- Imposta metadati di zona personalizzati da aggiungere o aggiorna i metadati personalizzati con un ambito di zona per le VM all'interno del progetto.
- Imposta metadati dell'istanza personalizzati per aggiungere o aggiornare i metadati dell'istanza personalizzata per una VM specifica.
Nella console Google Cloud, vai alla pagina Metadati.
Fai clic su
Modifica in alto. della pagina.Per aggiungere nuove voci di metadati di progetto personalizzate:
- Vai in fondo alla pagina e fai clic su Aggiungi elemento.
- Nel campo Chiave, inserisci il nome della chiave dei metadati personalizzata.
- Nel campo Valore, inserisci il valore personalizzato dei metadati di progetto.
- Facoltativo. Per aggiungere altre voci di metadati di progetto personalizzate, ripeti il comando passaggi precedenti per ogni voce di metadati che vuoi aggiungere.
- Per completare l'aggiunta delle voci di metadati di progetto personalizzate, fai clic su Salva.
Per modificare le voci di metadati di progetto personalizzate esistenti:
- Vai alla voce dei metadati che vuoi modificare.
- Per aggiornare il nome di una specifica chiave di metadati personalizzata, nel tag Inserisci il nuovo nome nel campo Chiave di quella voce.
- Per aggiornare il valore di una voce personalizzata dei metadati di progetto, Valore per la voce in questione, inserisci il nuovo valore.
- Facoltativo. Per rimuovere una specifica voce di metadati di progetto personalizzata, fai clic sull'icona di eliminazione di accanto alla voce dei metadati.
- Per modificare più voci di metadati di progetto personalizzate, ripeti il comando passaggi precedenti per ogni voce di metadati che vuoi modificare.
- Per completare la modifica delle voci di metadati di progetto personalizzate, fai clic su Salva.
KEY
: il nome della chiave dei metadatiVALUE
: il valore memorizzato per questa chiaveFacoltativo. Per eseguire il blocco ottimistico, puoi anche fornire una impronta.
Una fingerprint è una stringa casuale di caratteri generata in Compute Engine. L'impronta cambia dopo ogni richiesta e se se fornisci un'impronta che non coincide, la richiesta viene rifiutata.
Se non fornisci un'impronta, non viene eseguito alcun controllo della coerenza. e la richiesta
projects().setCommonInstanceMetadata
ha esito positivo. Questo il comportamento è diverso da quello diinstances().setMetadata
instanceSettings().patch
, dove l'impronta è sempre obbligatorio.Per ottenere la fingerprint attuale di un progetto, chiama il metodo Metodo
project().get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
L'output è simile al seguente:
{ "name": "myproject", "commonInstanceMetadata": { "kind": "compute#metadata", "fingerprint": "FikclA7UBC0=", ... } }
Presenta una richiesta a Metodo
projects().setCommonInstanceMetadata
e imposta le coppie chiave-valore dei metadati personalizzati:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "fingerprint": "FikclA7UBC0=", "items": [ { "key": "foo", "value": "bar" } ] }
- Crea nuove chiavi di metadati personalizzate per una zona specifica di un progetto e imposta e i metadati per tutte le VM nella zona del progetto.
- Aggiorna i valori delle voci di metadati di zona personalizzate esistenti per tutte le VM in un in una zona specifica di un progetto.
- Per le chiavi di metadati personalizzate esistenti che hanno valori di metadati di progetto, sostituisci i valori dei metadati di progetto in zone specifiche e impostano invece metadati. Dopo aver impostato i metadati di zona per le chiavi in una zona specifica, Le VM nella zona del progetto utilizzano i valori dei metadati di zona per queste chiavi.
- Se aggiungi un valore dei metadati di zona per una chiave di metadati che
ha un valore di metadati di progetto, Compute Engine esegue l'override dei metadati di progetto.
per le VM nella zona specificata e aggiorna la directory
/project
con il valore di zona. - Se aggiungi un nuovo valore di metadati a livello di progetto per una chiave di metadati che
ha un valore di metadati di zona, non cambia nulla. Compute Engine conserva
valore dei metadati di zona nella directory
/project
della zona specifica. - Se non specifichi un valore dei metadati di zona per una chiave di metadati personalizzata in un una zona specifica, ma la chiave ha un valore di metadati di progetto, le VM continuano i valori dei metadati di progetto in quelle zone.
Per aggiungere o aggiornare i metadati di zona personalizzati, utilizza Comando
gcloud compute project-zonal-metadata add
.gcloud compute project-zonal-metadata add \ --zone=ZONE \ --project=PROJECT_ID \ --metadata=KEY1=VALUE1,KEY2=VALUE2,...
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui vuoi aggiungere o aggiornare metadati di zona.KEY1
,KEY2
...: le chiavi dei metadati personalizzate per le quali vuoi aggiungere o aggiornare e i valori dei metadati.VALUE1
,VALUE2
...: i valori dei metadati di zona che vuoi impostare chiavi di metadati personalizzate nuove ed esistenti. A seconda della configurazione e il valore dei metadati, si verifica una delle seguenti situazioni:Se la chiave dei metadati personalizzata corrispondente è una chiave esistente con dei metadati di progetto, quindi, nella zona specificata, Compute Engine esegue l'override del valore dei metadati di progetto della chiave con il livello di zona specificato valore dei metadati. Tutte le VM nella zona specificata nel progetto ereditano i metadati di zona appena specificati per quella chiave e le VM in altri le zone continuano a conservare i metadati di zona o di progetto prevalenti. e i relativi valori. Se in futuro apporti aggiornamenti al valore dei metadati di progetto per questa chiave, le VM in questa zona del progetto rimarranno non interessate e continuare a utilizzare il valore dei metadati di zona per questa chiave.
Se la chiave dei metadati personalizzata corrispondente è una nuova chiave di metadati personalizzata non vengono utilizzati per i metadati di zona o di progetto esistenti, Compute Engine crea la chiave e i set di metadati personalizzati questo valore come metadati di zona nella zona specificata.
Se la chiave dei metadati personalizzata corrispondente è una chiave di metadati esistente con un valore dei metadati di zona nella zona specificata:
- Se il valore dei metadati specificato è diverso da quello esistente , Compute Engine aggiorna la voce dei metadati di zona con il nuovo valore.
- Se il valore dei metadati specificato corrisponde al valore esistente, la voce dei metadati di zona rimane invariata.
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"value-1"
e"key-2":"value-2"
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"value-1"
,"key-2":"value-2"
e"key-4":"value-4"
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
e"key-4":"new-value-4"
Recupera la fingerprint corrente e visualizza le eventuali coppie chiave-valore esistenti per il progetto in quella zona.
Per eseguire il blocco ottimistico, devi fornire un'impronta. Una fingerprint è una stringa casuale di caratteri generata in Compute Engine. L'impronta cambia ogni volta che fai un richiedere di aggiungere, aggiornare o rimuovere metadati di zona e se fornire un'impronta che non coincide, Compute Engine rifiuta la richiesta.
Se non fornisci un'impronta, devi eseguire un controllo per verificare la coerenza. eseguita e la tua richiesta di aggiornamento non viene completata correttamente. Questo funziona in modo che È possibile effettuare una sola richiesta alla volta, evitando collisioni. Questo corrisponde a
instances().setMetadata
, dove un'impronta è sempre obbligatoria.Per ottenere l'impronta attuale dei metadati di zona, crea un
GET
richiesta alla MetodoinstanceSettings().get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui vuoi impostare metadati di zona.
Di seguito è riportato un output di esempio per questa richiesta:
{ "fingerprint": "VlRIl8dx9vk=", "metadata": { ... } }
Per aggiungere o aggiornare i metadati di zona, effettua una richiesta
PATCH
a il metodoinstanceSettings().patch
. Nella richiesta devi fornire quanto segue:Una maschera di aggiornamento. Usa il parametro di query
update_mask
. Aggiornamento deve contenere le chiavi di metadati per gli elementi seguenti:- I nuovi metadati di zona personalizzati che vuoi aggiungere
- I metadati di zona personalizzati esistenti di cui vuoi aggiornare valori
Devi aggiungere la stringa
metadata.items.
come prefisso per ogni chiave, ad esempiometadata.items.key1,metadata.items.key3
.Nel corpo della richiesta, fornisci quanto segue:
- Le chiavi e i valori dei metadati per i nuovi metadati di zona personalizzati che vuoi aggiungere
- Le chiavi e i valori dei metadati per i metadati di zona personalizzati esistenti che vuoi aggiornare
- Valore fingerprint attuale
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS { "fingerprint": "FINGER_PRINT", "metadata": { "items": { "KEY1": "VALUE1", "KEY2": "VALUE2", ... } } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.ZONE
: la zona in cui vuoi impostare metadati di zona.PREFIXED_METADATA_KEYS
: l'elenco di per le seguenti chiavi di metadati, dove ogni chiave è preceduta dal prefisso stringametadata.items.
- I nuovi metadati di zona personalizzati che vuoi aggiungere
- I metadati di zona personalizzati esistenti per i quali vuoi aggiorna valori
Ad esempio, supponiamo che le tue chiavi di metadati di zona attuali in una sono
key-1
ekey-2
. Se vuoi aggiungere una nuova chiave,key-3
, per i metadati di zona in quella zona e aggiorna anche i metadati di zona una delle chiavi esistenti,key-1
, la maschera di aggiornamento deve avere la seguente stringa:metadata.items.key1,metadata.items.key3
FINGER_PRINT
: valore attuale dell'impronta.KEY1
,KEY2
...: le chiavi dei metadati di zona personalizzate per cui vuoi aggiungere aggiorna i valori. Specifica tutte le chiavi di metadati di zona personalizzate specificato nella maschera di aggiornamento.VALUE1
,VALUE2
...: i valori dei metadati di zona che vuoi impostare chiavi di metadati personalizzate nuove ed esistenti. A seconda della configurazione e il valore dei metadati, si verifica una delle seguenti situazioni:- Se la chiave dei metadati personalizzata corrispondente è una chiave esistente con dei metadati di progetto, quindi, nella zona specificata, Compute Engine esegue l'override del valore dei metadati di progetto della chiave con il livello di zona specificato valore dei metadati. Tutte le VM nella zona specificata nel progetto ereditano i metadati di zona appena specificati per quella chiave e le VM in altri le zone continuano a conservare i metadati di zona o di progetto prevalenti. e i relativi valori. Se in futuro apporti aggiornamenti al valore dei metadati di progetto per questa chiave, le VM in questa zona del progetto rimarranno non interessate e continuare a utilizzare il valore dei metadati di zona per questa chiave.
- Se la chiave dei metadati personalizzata corrispondente è una nuova chiave di metadati che non viene utilizzato per i metadati di zona o di progetto esistenti, Compute Engine crea la chiave e i set di metadati personalizzati questo valore come metadati di zona nella zona specificata.
Se la chiave dei metadati personalizzata corrispondente è una chiave di metadati esistente con un valore dei metadati di zona nella zona specificata:
Se il valore dei metadati specificato è diverso da quello esistente Compute Engine aggiorna i metadati di zona con il nuovo valore.
Se il valore dei metadati specificato corrisponde al valore esistente, la voce dei metadati di zona rimane invariata.
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"value-1"
e"key-2":"value-2"
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"value-1"
,"key-2":"value-2"
e"key-4":"value-4"
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
e"key-4":"new-value-4"
- Per le nuove VM, puoi aggiungere metadati personalizzati durante la creazione della VM.
- Per le VM esistenti, puoi aggiungere o aggiornare metadati personalizzati quando la VM è in esecuzione.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Specifica i dettagli della VM.
Espandi la sezione Opzioni avanzate ed esegui le seguenti:
- Espandi la sezione Gestione.
- Per aggiungere più coppie chiave-valore per i tuoi metadati personalizzati, nel tag Nella sezione Metadati, fai clic su Aggiungi elemento.
Per creare la VM, fai clic su Crea.
VM_NAME
: il nome della VMKEY
: il nome della chiave dei metadatiVALUE
: il valore memorizzato per questa chiavePROJECT_ID
: il tuo ID progettoZONE
: zona in cui creare la VMMACHINE_TYPE
: tipo di macchina, predefinita o personalizzato, per la nuova VMVM_NAME
: name del nuovo VMKEY
: il nome della chiave dei metadatiVALUE
: il valore memorizzato per questa chiave- Nella console Google Cloud, vai alla pagina Istanze VM.
- Fai clic sull'istanza di cui vuoi aggiornare i metadati.
- Fai clic sul pulsante Modifica nella parte superiore della pagina.
- In Metadati personalizzati, fai clic su Aggiungi elemento o modifica le voci di metadati.
- Salva le modifiche.
VM_NAME
: il nome della VMKEY
: il nome della chiave dei metadatiVALUE
: il valore memorizzato per questa chiaveRecupera la fingerprint corrente e visualizza le coppie chiave-valore esistenti per la VM. A questo scopo, richiama il metodo Metodo
instances().get
.Una fingerprint è una stringa casuale di caratteri generata in Compute Engine e viene utilizzato per eseguire il blocco ottimistico. Per aggiornare VM, devi fornire il valore fingerprint corrispondente. L'impronta modifiche dopo ogni richiesta e, se fornisci un'impronta digitale non corrispondente, la richiesta viene rifiutata. Questa procedura consente di effettuare un solo aggiornamento alla volta, per evitare collisioni.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAMESostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui si trova la VMVM_NAME
: nome della VM
L'output è simile al seguente:
{ ... "name": "example-instance", "metadata": { "kind": "compute#metadata", "fingerprint": "zhma6O1w2l8=" "items": [ { "key": "foo", "value": "bar" } ] }, ... }
Effettua una richiesta al metodo
instances().setMetadata
. Fornisci un elenco dei nuovi valori dei metadati e dell'attualefingerprint
valore.Se la VM ha coppie chiave-valore esistenti che vuoi conservare, devi includerle in questa richiesta con le nuove coppie chiave-valore.
Esempio
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": "zhma6O1w2l8=", "items": [ { "key": "foo", "value": "bar" }, { "key": "baz", "value": "bat" } ] }Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui si trova la VMVM_NAME
: nome della VM
- Rimuovi metadati di progetto personalizzati, per rimuovere i metadati personalizzati impostati per tutte le VM in un progetto.
- Rimuovi i metadati di zona personalizzati per Rimuovere i metadati personalizzati impostati per tutte le VM in una zona specifica in progetto.
- Rimuovi i metadati dell'istanza personalizzata per rimuovere i metadati della VM impostati per una VM specifica.
Nella console Google Cloud, vai alla pagina Metadati.
Fai clic su
Modifica nella parte superiore di della pagina.Vai alla voce dei metadati che desideri rimuovere e fai clic sul pulsante Pulsante Elimina
accanto .Ripeti questo passaggio per ogni voce di metadati che vuoi rimuovere.
Per completare la rimozione delle voci dei metadati di progetto personalizzati, fai clic su Salva.
- Se vuoi rimuovere le voci dei metadati personalizzati per chiavi specifiche,
specificare queste chiavi usando il flag
--keys
ed escludere i valori di queste chiavi. - Se vuoi rimuovere tutti i metadati personalizzati per la VM, specifica
--all
flag. KEY1
,KEY2
...: le chiavi dei metadati dell'istanza personalizzata che vuoi rimuovere.PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui vuoi rimuovere metadati di zona.KEY1
,KEY2
...: le chiavi dei metadati di zona personalizzate da rimuovere.- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
,"key-3":"value-3"
e"key-4":"new-value-4"
"key-1":"value-a"
"key-2":"value-b"
"key-3":"value-c"
Recupera la fingerprint corrente e visualizza le eventuali coppie chiave-valore esistenti per il progetto in quella zona.
Per eseguire il blocco ottimistico, devi fornire un'impronta. Una fingerprint è una stringa casuale di caratteri generata in Compute Engine. L'impronta cambia ogni volta che fai un richiedere di aggiungere, aggiornare o rimuovere metadati di zona e se fornire un'impronta che non coincide, Compute Engine rifiuta la richiesta.
Se non fornisci un'impronta, devi eseguire un controllo per verificare la coerenza. una volta eseguita questa operazione e la tua richiesta di eliminazione non riesce. Questo funziona in modo che È possibile effettuare una sola richiesta alla volta, evitando collisioni. Questo corrisponde a
instances().setMetadata
, dove un'impronta è sempre obbligatoria.Per ottenere la fingerprint attuale di un progetto, chiama il Metodo
instanceSettings().get
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoZONE
: la zona in cui vuoi rimuovere metadati di zona.
Di seguito è riportato un output di esempio per questa richiesta:
{ "fingerprint": "FikclA7UBC0=", "metadata": { ... } }
Per rimuovere metadati di zona personalizzati, effettua una richiesta
PATCH
a il metodoinstanceSettings().patch
escludendo le chiavi dei metadati per cui vuoi rimuovere i token metadati, dal corpo della richiesta. Devi fornire quanto segue con la tua richiesta:Una maschera di aggiornamento. Usa il parametro di query
update_mask
. Aggiornamento deve contenere tutte le chiavi di metadati personalizzate esistenti per le quali per rimuovere i metadati di zona. Devi aggiungere la stringametadata.items.
come prefisso per ogni chiave, ad esempiometadata.items.key1,metadata.items.key3
.Nel corpo della richiesta, fornisci solo il valore attuale dell'impronta. Escludi tutte le chiavi dei metadati personalizzate che hai specificato nell'aggiornamento mascherato. Se includi una qualsiasi delle chiavi dei metadati sia nella maschera di aggiornamento corpo della richiesta, Compute Engine non rimuove e i metadati di zona per le chiavi.
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS { "fingerprint": "FINGER_PRINT", "metadata": { "items": { } } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto.ZONE
: la zona in cui vuoi rimuovere metadati di zona.PREFIXED_METADATA_KEYS
: l'elenco di tutte le chiavi di metadati personalizzate esistenti per le quali vuoi rimuovere le chiavi a livello di zona metadati, dove ogni chiave è preceduta dal prefisso la stringametadata.items.
di Google. Per assicurarti che la tua richiesta di eliminazione se ha esito positivo, escludi queste chiavi di metadati dal corpo della richiesta. Se includi una qualsiasi delle chiavi dei metadati sia nella maschera di aggiornamento corpo della richiesta, Compute Engine non rimuove e i metadati di zona per le chiavi.Ad esempio, supponiamo che le tue chiavi di metadati attuali con metadati di zona sono
key-1
,key-2
,key-3
ekey-4
e vuoi rimuovere il le voci dei metadati di zona perkey-1
ekey-2
, poi la maschera di aggiornamento deve contenere la seguente stringa:metadata.items.key1,metadata.items.key2
FINGER_PRINT
: valore attuale dell'impronta.
- Metadati di progetto:
"key-1":"value-a"
,"key-2":"value-b"
e"key-3":"value-c"
- Metadati di zona nella zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
,"key-3":"value-3"
e"key-4":"new-value-4"
- Metadati di progetto:
"key-1":"value-a"
e"key-2":"value-b"
- Metadati di zona nella zona
us-central1-a
:"key-3":"value-3"
e"key-4":"new-value-4"
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Nella colonna Nome, fai clic sul nome della VM per la quale vuoi rimuovere i metadati.
- Fai clic su Modifica nella parte superiore di della pagina.
- Nella sezione Metadati, fai clic su Elimina l'elemento per ogni voce di metadati che vuoi rimuovere.
- Per confermare le modifiche e rimuovere i metadati dell'istanza personalizzata, fai clic su Salva.
- Se vuoi rimuovere le voci dei metadati personalizzati per chiavi specifiche,
specificare queste chiavi usando il flag
--keys
ed escludere i valori di queste chiavi. - Se vuoi rimuovere tutti i metadati personalizzati per la VM, specifica
--all
flag. PROJECT_ID
: il tuo ID progetto.ZONE
: la zona della VM.VM_NAME
: nome della VMKEY1
,KEY2
...: le chiavi dei metadati dell'istanza personalizzata che vuoi rimuovere.Recupera la fingerprint corrente e visualizza le coppie chiave-valore esistenti per la VM. A questo scopo, richiama il metodo Metodo
instances().get
.Una fingerprint è una stringa casuale di caratteri generata in Compute Engine e viene utilizzato per eseguire il blocco ottimistico. Per aggiornare VM, devi fornire il valore fingerprint corrispondente. L'impronta modifiche dopo ogni richiesta e, se fornisci un'impronta digitale non corrispondente, la richiesta viene rifiutata. Questa procedura consente di effettuare un solo aggiornamento alla volta, per evitare collisioni.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAMESostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.ZONE
: la zona della VM.VM_NAME
: nome della VM
L'output è simile al seguente:
{ ... "name": "example-instance", "metadata": { "kind": "compute#metadata", "fingerprint": "zhma6O1w2l8=" "items": [ { "key": "key-1", "value": "value-1" } { "key": "key-2", "value": "value-2" } ] }, ... }
Effettua una richiesta al metodo
instances().setMetadata
. Devi includere l'attuale valore fingerprint dei metadati per la tua richiesta per avere successo.Per rimuovere tutte le coppie chiave-valore dei metadati personalizzati da una VM, nel
items
, escludi le chiavi dei metadati per cui vuoi rimuovere i valori dei metadati.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": "FINGER_PRINT" "items": [ { "key": "KEY1" "value": "VALUE1" } { "key": "KEY2" "value": "VALUE2" } ... ] }Per rimuovere tutti i metadati dell'istanza personalizzata sulla VM, escludi
items
proprietà del progetto.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": FINGER_PRINT }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.ZONE
: la zona della VM.VM_NAME
: nome della VMFINGER_PRINT
: valore attuale dell'impronta.KEY1
,KEY2
...: le chiavi dei metadati dell'istanza personalizzata che vuoi rimuovere.VALUE1
,VALUE2
...: i valori delle chiavi di metadati dell'istanza personalizzata che vuoi rimuovere.
- Scopri di più sui metadati delle VM.
- Scopri come visualizzare ed eseguire query sui metadati.
- Scopri di più sull'esecuzione di script di avvio script di arresto nel server dei metadati.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per impostare o rimuovere i metadati personalizzati sulle VM, chiedi all'amministratore di concederti seguenti ruoli IAM:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti le autorizzazioni necessarie per impostare o rimuovere i metadati personalizzati sulle VM. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per impostare o rimuovere i metadati personalizzati sulle VM sono necessarie le seguenti autorizzazioni:
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Limitazioni
Compute Engine applica un limite totale combinato di 512 kB per tutti le voci di metadati. I limiti di dimensione massimi vengono applicati anche a ogni
key
evalue
nel seguente modo:Ad esempio, le chiavi SSH vengono archiviate come metadati personalizzati nell'
ssh-keys
chiave. Se i contenuti dei metadati o il valorevalue
per questa chiave superano i 256 kB limite, non potrai aggiungere altre chiavi SSH. Se raggiungi questo limite, valuta la possibilità di rimuovere le chiavi inutilizzate per liberare spazio nei metadati per le nuove chiavi.Inoltre, se fornisci direttamente i contenuti dello script di avvio o chiusura, i contenuti di questi script di avvio e chiusura potrebbero essere archiviati metadati personalizzati e vengono conteggiati ai fini di questi limiti di dimensione. Per evitare che ciò accada, archivia lo script di avvio o chiusura come file ospitato su un un percorso esterno, ad esempio Cloud Storage, e fornisci l'URL dello script di avvio durante la creazione di una VM. In questo modo, questi file vengono scaricati sulla VM, rispetto a quelle archiviate nel server dei metadati.
Valori booleani
Per i campi che accettano valori booleani,
TRUE
oFALSE
, i seguenti valori può essere utilizzato anche:Stato Valori alternativi TRUE
Y
,Yes
,1
FALSE
N
,No
,0
I valori booleani non sono sensibili alle maiuscole. Ad esempio, puoi utilizzare
False
,false
, oFALSE
per disattivare una funzionalità.Imposta metadati personalizzati sulle VM
Questa sezione fornisce informazioni su come aggiungere nuovi metadati personalizzati aggiornare i valori dei metadati personalizzati esistenti per le VM di Compute Engine in uno dei nei seguenti modi:
Imposta metadati di progetto personalizzati
Puoi aggiungere o aggiornare i metadati personalizzati per tutte le istanze di un progetto utilizzando la console Google Cloud, Google Cloud CLI o REST.
Utilizza queste istruzioni per applicare le impostazioni dei metadati a tutte le VM nel progetto. Ad esempio, se definisci una coppia di metadati di progetto
baz=bat
, la coppia di metadati viene applicata automaticamente a tutte le VM nel progetto.Console
gcloud
Utilizza la Comando
project-info add-metadata
.gcloud compute project-info add-metadata \ --metadata=KEY=VALUE
Sostituisci quanto segue:
Esempio
Ad esempio, per impostare due nuove voci
foo=bar
ebaz=bat
in un progetto, esegui il seguente comando:gcloud compute project-info add-metadata \ --metadata=foo=bar,baz=bat
Facoltativamente, puoi specificare uno o più file da cui leggere tramite il flag
--metadata-from-file
.REST
Sostituisci
PROJECT_ID
con il tuo ID progetto.Imposta metadati di zona personalizzati
Quando imposti metadati di zona personalizzati, aggiungi o aggiorni le voci dei metadati di zona per le VM in una zona specifica di un progetto. Puoi procedere nel seguente modo: Impostazione di metadati di zona personalizzati:
Aspetti da considerare prima di impostare metadati di zona personalizzati
Le voci dei metadati di progetto e zona vengono archiviate nello stesso Directory
project/
. Se imposti valori diversi per lo stesso di metadati per le VM a livello di progetto e di zona, i valori dei metadati di zona per queste chiavi hanno la precedenza sui valori dei metadati di progetto nelle rispettive zone.Procedura
Puoi aggiungere o aggiornare i metadati di zona personalizzati in una zona specifica di un progetto mediante Google Cloud CLI o REST.
gcloud
Esempio: aggiungere una nuova voce personalizzata di metadati di zona
Ad esempio, considera un progetto chiamato
my-project
con quanto segue metadati personalizzati:Per aggiungere
"key-4":"value-4"
come nuova coppia di metadati di zona personalizzata in zonaus-central1-a
, esegui questo comandogcloud compute project-zonal-metadata add \ --metadata=key-4=value-4 \ --project=my-project \ --zone=us-central1-a
Esempio: aggiornare i valori di una voce di metadati di zona personalizzata esistente
Considera lo stesso progetto di esempio
my-project
, che ora ha le seguenti metadati personalizzati:Per aggiornare i valori dei metadati di zona di
key-1
ekey-4
nella zonaus-cerntral1-a
con nuovi valori, esegui questo comando:gcloud compute project-zonal-metadata add \ --metadata=key-1=new-value-1,key-4=new-value-4 \ --project=my-project \ --zone=us-central1-a
Esempio: esegui l'override del valore dei metadati di progetto per una chiave e utilizza un valore dei metadati di zona
Considera lo stesso progetto di esempio
my-project
, che ora ha le seguenti metadati personalizzati:In questo progetto di esempio, considera
key-3
, che ha un metadato di progetto valore divalue-c
. Supponiamo di voler impostare un valore di metadati di zonavalue-3
per questa chiave per tutte le VM nella zonaus-central1-a
. Quando eseguire l'operazione per tutte le VM nella zonaus-central1-a
Compute Engine esegue l'override dei valori dei metadati di progetto e utilizza valori dei metadati di zona. Le VM in tutte le altre zone del progetto mantengono la propria valori prevalenti dei metadati di progetto o di zona perkey-3
.Per eseguire l'override del valore dei metadati di progetto per
key-3
e impostare un metadato di zona esegui questo comando:gcloud compute project-zonal-metadata add \ --metadata=key-3=value-3 \ --project=my-project \ --zone=us-central1-a
REST
Esempio: aggiungere una nuova voce personalizzata di metadati di zona
Ad esempio, considera un progetto chiamato
my-project
con quanto segue metadati personalizzati:Per aggiungere
"key-4":"value-4"
come nuova coppia di metadati di zona personalizzata in zonaus-central1-a
, effettua la seguente richiestaPATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-4 { "fingerprint": "VlRIl8dx9vk=", "metadata": { "items": { "key-4": "value-4" } } }
Esempio: aggiornare i valori di una voce di metadati di zona personalizzata esistente
Considera lo stesso progetto di esempio
my-project
, che ora ha le seguenti metadati personalizzati:Per aggiornare i valori dei metadati di zona di
key-1
ekey-4
nella zonaus-cerntral1-a
con nuovi valori, effettua la seguente richiestaPATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-1,metadata.items.key-4 { "fingerprint": "VlRIl8dx9vk=", "metadata": { "items": { "key-1": "new-value-1", "key-4": "new-value-4" } } }
Esempio: eseguire l'override del valore dei metadati di progetto per una chiave e impostare un valore dei metadati di zona
Considera lo stesso progetto di esempio
my-project
, che ora ha le seguenti metadati personalizzati:In questo progetto di esempio, considera
key-3
, che ha un metadato di progetto valore divalue-c
. Supponiamo di voler impostare un valore di metadati di zonavalue-3
per questa chiave per tutte le VM nella zonaus-central1-a
. Quando eseguire l'operazione per tutte le VM nella zonaus-central1-a
Compute Engine esegue l'override dei valori dei metadati di progetto e utilizza valori dei metadati di zona. Le VM in tutte le altre zone del progetto mantengono la propria valori prevalenti dei metadati di progetto o di zona perkey-3
.Per eseguire l'override del valore dei metadati di progetto per
key-3
e utilizzare il metodo anziché il valore dei metadativalue-3
, effettua la seguente richiestaPATCH
:PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-3 { "fingerprint": "VlRIl8dx9vk=", "metadata": { "items": { "key-3": "value-3" } } }
Imposta metadati istanza personalizzati
Puoi aggiungere o aggiornare i metadati personalizzati per una singola istanza VM utilizzando la console Google Cloud, Google Cloud CLI o REST.
Puoi impostare i metadati dell'istanza personalizzata in uno dei seguenti modi:
Aggiungi metadati dell'istanza personalizzati durante la creazione della VM
Usa queste istruzioni per aggiungere metadati su un'istanza VM specifica al momento della creazione la sua creazione.
Console
gcloud
Per impostare metadati personalizzati, utilizza il metodo Comando
gcloud compute instances create
con il flag--metadata
.gcloud compute instances create VM_NAME \ --metadata=KEY=VALUE
Sostituisci quanto segue:
Esempio
Ad esempio, per impostare una nuova chiave
foo
che abbia il valorebar
su un VM denominataexample-instance
, esegui questo comando:gcloud compute instances create example-instance \ --metadata=foo=bar
REST
Utilizza la Metodo
instances.insert
e fornire i metadati personalizzati come parte della proprietàmetadata
in la tua richiesta:POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "...": [ { } ], "metadata": { "items": [ { "key": "KEY", "value": "VALUE" } ] }, .. }Sostituisci quanto segue:
Aggiungi o aggiorna i metadati dell'istanza personalizzata su una VM esistente
Utilizza queste istruzioni per aggiornare i metadati su una specifica istanza VM che già esiste già.
Console
gcloud
L'aggiornamento dei metadati della VM con gcloud CLI è un'operazione un'azione. Specifica solo le chiavi dei metadati che vuoi aggiungere o modificare. Se una chiave fornita esiste già, il valore per quella chiave viene aggiornato con il nuovo valore.
Utilizza la Comando
instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --metadata=KEY=VALUE,KEY=VALUE
Sostituisci quanto segue:
Esempi
Se vuoi aggiungere la voce
foo=bar
, usa:gcloud compute instances add-metadata VM_NAME \ --metadata=foo=bar
Se vuoi modificare la voce
foo=bar
infoo=bat
, usa:gcloud compute instances add-metadata VM_NAME \ --metadata=foo=bat
REST
Rimuovi i metadati personalizzati dalle VM
Questa sezione fornisce informazioni su come rimuovere le voci di metadati personalizzati per le VM di Compute Engine in uno dei seguenti modi:
Rimuovi metadati di progetto personalizzati
Puoi rimuovere i metadati di progetto personalizzati utilizzando la console Google Cloud oppure Google Cloud CLI.
Console
gcloud
Per rimuovere i metadati di progetto personalizzati, utilizza Comando
gcloud compute project-info remove-metadata
.gcloud compute project-info remove-metadata \ --keys=KEY1,KEY2,...
gcloud compute project-info remove-metadata \ --all
Sostituisci quanto segue:
Rimuovi metadati di zona personalizzati
Puoi rimuovere i metadati di zona personalizzati utilizzando Google Cloud CLI o REST.
gcloud
Per rimuovere metadati di zona personalizzati, utilizza Comando
gcloud compute project-zonal-metadata remove
e specificare tutte le chiavi dei metadati che vuoi rimuovere utilizzando Flag--keys
.gcloud compute project-zonal-metadata remove \ --project=PROJECT_ID \ --zone=ZONE \ --keys=KEY1,KEY2,...
Sostituisci quanto segue:
Dopo aver eseguito il comando, se una delle chiavi specificate contiene i valori dei metadati disponibili, le VM nella zona specificata li erediteranno e i valori dei metadati di progetto. Se la voce di metadati è stata impostata solo a livello di zona e non esiste un valore di metadati di progetto corrispondente per quella chiave, Le VM in quella zona perdono le informazioni sui metadati.
Esempio:
Considera un progetto di esempio
my-project
, che ha le seguenti metadati di progetto:Per rimuovere tutti i metadati di zona nella zona
us-central1-a
, esegui .gcloud compute project-zonal-metadata remove \ --metadata=key-1,key-2,key-3,key-4 \ --project=my-project \ --zone=us-central1-a
Dopo che hai eseguito il comando, le VM nella zona
us-central1-a
possiedono le seguenti voci di metadati di progetto personalizzate:REST
Dopo aver effettuato la richiesta, se una delle chiavi specificate contiene i valori dei metadati disponibili, le VM nella zona specificata li erediteranno e i valori dei metadati di progetto. Se la chiave dei metadati è stata impostata solo a livello di zona e non esiste un valore di metadati di progetto corrispondente per quella chiave, Le VM in quella zona perdono le informazioni sui metadati.
Esempio:
Considera un progetto di esempio
my-project
, che ha le seguenti metadati di progetto:Per rimuovere i metadati di zona per
key-1
ekey-2
nelus-central1-a
, effettua la seguente richiestaPATCH
.PATCH https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-1,metadata.items.key-2 { "fingerprint": "FikclA7UBC0=", "metadata": { "items": { } } }
Dopo che questa richiesta è andata a buon fine, le VM nella zona
us-central1-a
possiedono seguendo metadati personalizzati. Le VM ereditano i valori dei metadati di progettokey-1
ekey-2
, ma conserva i metadati di zona perkey-3
ekey-4
.Rimuovi metadati istanza personalizzati
Puoi rimuovere i metadati dell'istanza personalizzata utilizzando la console Google Cloud, Google Cloud CLI o REST.
Console
gcloud
Per rimuovere i metadati dell'istanza personalizzata, utilizza il metodo Comando
gcloud compute instances remove-metadata
.gcloud compute instances remove-metadata VM_NAME \ --zone=ZONE \ --keys=KEY1,KEY2,...
gcloud compute instances remove-metadata VM_NAME \ --zone=ZONE \ --all
Sostituisci quanto segue:
REST
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-07-25 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -