Questa pagina descrive come attivare, disattivare e controllare lo stato della versione degli oggetti in un bucket. Consulta Utilizzare gli oggetti con controllo delle versioni per scoprire come elencare, ripristinare ed eliminare gli oggetti conservati dal controllo delle versioni degli oggetti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per impostare e gestire la versione degli oggetti su un bucket, chiedi all'amministratore di concederti il ruolo IAM Amministratore archiviazione (roles/storage.admin
) nel bucket o nel progetto che contiene il bucket. Questo ruolo predefinito contiene le autorizzazioni necessarie per impostare e gestire il versionamento degli oggetti per un bucket. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
storage.buckets.get
storage.buckets.update
storage.buckets.list
- Questa autorizzazione è obbligatoria solo se prevedi di utilizzare la console Google Cloud per eseguire le istruzioni riportate in questa pagina.
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati.
Per informazioni sulla concessione dei ruoli ai bucket, consulta Utilizzare IAM con i bucket. Per informazioni su come concedere ruoli ai progetti, consulta Gestire l'accesso ai progetti.
Impostare il controllo delle versioni degli oggetti su un bucket
Console
- Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket per il quale vuoi attivare o disattivare la versione degli oggetti.
Seleziona la scheda Protezione nella parte superiore della pagina.
Lo stato corrente del controllo delle versioni degli oggetti è disponibile nella sezione Controllo delle versioni degli oggetti.
Nella sezione Controllo delle versioni degli oggetti, fai clic sullo stato corrente per apportare modifiche.
Viene visualizzata la finestra di dialogo Controllo delle versioni degli oggetti.
- Se attivi il controllo delle versioni degli oggetti e vuoi ridurre al minimo i costi di archiviazione, seleziona la casella di controllo Aggiungi regole del ciclo di vita consigliate per gestire i costi delle versioni.
Fai clic su Conferma.
Riga di comando
Utilizza il comando gcloud storage buckets update
con il
flag appropriato:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dove:
BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.FLAG
è--versioning
per attivare la versione degli oggetti o--no-versioning
per disattivarla.
In caso di esito positivo, la risposta è simile al seguente esempio:
Updating gs://my-bucket/... Completed 1
Librerie client
C++
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per autenticarti a Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
L'esempio seguente abilita il controllo delle versioni degli oggetti su un bucket:
L'esempio seguente disattiva il controllo delle versioni degli oggetti in un bucket:
API REST
API JSON
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "versioning": { "enabled": STATE } }
dove STATE è
true
ofalse
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPATCH
Bucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Dove:
JSON_FILE_NAME
è il percorso del file JSON che hai creato nel passaggio 2.BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
API XML
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file XML contenente le seguenti informazioni:
<VersioningConfiguration> <Status>STATE</Status> </VersioningConfiguration>
dove STATE è
Enabled
oSuspended
.Utilizza
cURL
per chiamare l'API XML, con una richiestaPUT
Bucket e il parametro di stringa di queryversioning
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Dove:
XML_FILE_NAME
è il percorso del file XML che hai creato nel passaggio 2.BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
Una volta attivato il controllo delle versioni degli oggetti, ogni volta che una versione dell'oggetto attivo viene sostituita o eliminata, diventa una versione non corrente.
Verificare se il controllo delle versioni degli oggetti è attivo
Per verificare se il controllo delle versioni degli oggetti è abilitato in un bucket:
Console
- Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, lo stato della versione degli oggetti di ciascun bucket si trova nella colonna Protezione.
Se è attivata, viene visualizzato il testo Controllo delle versioni degli oggetti.
Riga di comando
Utilizza il comando gcloud storage buckets describe
con il flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(versioning)"
dove BUCKET_NAME
è il nome del bucket
di cui vuoi visualizzare lo stato. Ad esempio, my-bucket
.
Se l'operazione ha esito positivo e il controllo delle versioni degli oggetti è abilitato, la risposta è simile all'esempio seguente:
versioning: enabled: true
Se l'operazione ha esito positivo e il controllo delle versioni degli oggetti non è abilitato, la risposta è simile all'esempio seguente:
null
API REST
API JSON
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaGET
Bucket:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Dove
BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
Se l'operazione ha esito positivo e il controllo delle versioni degli oggetti è abilitato, la risposta è simile all'esempio seguente:
{ "versioning": { "enabled": true } }
Se l'operazione ha esito positivo e il controllo delle versioni degli oggetti non è abilitato, la risposta è simile all'esempio seguente:
{}
API XML
Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML, con una richiestaGET
Bucket e il parametro di stringa di queryversioning
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Dove
BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
Se l'operazione ha esito positivo e il controllo delle versioni degli oggetti è abilitato, la risposta è simile all'esempio seguente:
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>
Se l'operazione ha esito positivo e il controllo delle versioni degli oggetti non è abilitato, la risposta è simile all'esempio seguente:
<VersioningConfiguration/>
Passaggi successivi
- Scopri di più sul controllo delle versioni degli oggetti.
- Scopri come lavorare con gli oggetti non correnti.
- Scopri come utilizzare la gestione del ciclo di vita degli oggetti per gestire automaticamente le versioni degli oggetti.
- Scopri come utilizzare i precondizioni della richiesta per evitare le condizioni di gara.