Questa pagina descrive come elencare, accedere, ripristinare ed eliminare gli oggetti non correnti, il che in genere si applica ai bucket con la funzionalità Controllo delle versioni degli oggetti abilitata.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli oggetti non correnti, chiedi all'amministratore di concederti il ruolo IAM Utente oggetti archiviazione (roles/storage.objectUser
) nel progetto. Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire gli oggetti non correnti. Per vedere quali sono esattamente le autorizzazioni
richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati.
Per informazioni sulla concessione dei ruoli nei progetti, consulta Gestire l'accesso ai progetti.
A seconda del tuo caso d'uso, potresti aver bisogno di autorizzazioni aggiuntive o ruoli alternativi:
Se prevedi di utilizzare la console Google Cloud per eseguire le attività descritte in questa pagina, devi disporre anche dell'autorizzazione
storage.buckets.list
, che non è inclusa nel ruolo Utente oggetti Storage (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Storage Admin (roles/storage.admin
) nel progetto.Se l'accesso uniforme a livello di bucket è disabilitato per il bucket, sono necessarie autorizzazioni aggiuntive negli scenari seguenti:
Se prevedi di restituire oggetti non correnti insieme alle relative ACL, devi disporre anche dell'autorizzazione
storage.objects.getIamPolicy
, che non è inclusa nel ruolo Utente oggetto Storage (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore oggetti Storage (roles/storage.objectAdmin
) nel progetto.Se prevedi di rinominare o ripristinare oggetti non correnti con ACL, devi disporre anche dell'autorizzazione
storage.objects.setIamPolicy
, che non è inclusa nel ruolo Utente oggetto Storage (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore oggetti Storage (roles/storage.objectAdmin
) nel progetto.
Elenca le versioni non correnti degli oggetti
Per elencare le versioni attive e non correnti degli oggetti e visualizzare i relativi
numeri generation
:
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto che ti interessa.
Viene visualizzata la pagina Dettagli bucket, con la scheda Oggetti selezionata.
Per visualizzare gli oggetti non correnti, fai clic sul menu a discesa Mostra e seleziona Oggetti attivi e non correnti.
Nell'elenco degli oggetti, fai clic sul nome dell'oggetto di cui vuoi visualizzare le versioni.
Viene visualizzata la pagina Dettagli oggetto con la scheda Oggetto live selezionata.
Fai clic sulla scheda Cronologia delle versioni per visualizzare tutte le versioni dell'oggetto.
Riga di comando
Utilizza il comando gcloud storage ls --all-versions
:
gcloud storage ls --all-versions gs://BUCKET_NAME
Dove BUCKET_NAME
è il nome del bucket che
contiene gli oggetti. Ad esempio, my-bucket
.
La risposta è simile al seguente esempio:
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta Oggetti: elenco:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Dove
BUCKET_NAME
è il nome del bucket che contiene gli oggetti. Ad esempio,my-bucket
.
Le versioni non correnti degli oggetti hanno una proprietà timeDeleted
.
API XML
Avere la gcloud CLI installata e inizializzata, che ti 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 della stringa di queryversions
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Dove
BUCKET_NAME
è il nome del bucket che contiene gli oggetti. Ad esempio,my-bucket
.
Esistono alcune differenze nei risultati della richiesta GET
quando
si utilizza il parametro di query versions
rispetto a quando non lo si utilizza.
Nello specifico, Cloud Storage restituisce le seguenti informazioni quando includi un parametro di query versions
nella richiesta:
- Un elemento
Version
che contiene informazioni su ogni oggetto. - Un elemento
DeletedTime
che contiene l'ora in cui la versione dell'oggetto è diventata non corrente (eliminata o sostituita). - Un elemento `IsLatest che indica se l'oggetto specifico è l'ultima versione.
- Un elemento
NextGenerationMarker
viene restituito se l'elenco degli oggetti è un elenco parziale, il che si verifica quando hai molte versioni di oggetti in un bucket. Utilizza il valore di questo elemento nel parametrogenerationmarker
della query delle richieste successive per riprendere dal punto in cui avevi interrotto. Il parametro di querygenerationmarker
viene utilizzato nello stesso modo in cui utilizzi il parametro di querymarker
per scorrere un elenco per un bucket senza controllo delle versioni.
Accedere alle versioni non correnti degli oggetti
Per utilizzare la versione non corrente di un oggetto quando esegui attività come il download dell'oggetto, la visualizzazione dei relativi metadati o l'aggiornamento dei relativi metadati:
Console
L'accesso generale a una versione non attuale non è disponibile nella consoleGoogle Cloud . Utilizzando la console Google Cloud , puoi solo spostare, copiare, ripristinare o eliminare una versione non corrente. Queste azioni vengono eseguite dall'elenco della cronologia delle versioni di un oggetto.
Riga di comando
Aggiungi il numero di generazione della versione non corrente al nome dell'oggetto:
OBJECT_NAME#GENERATION_NUMBER
Dove:
OBJECT_NAME
è il nome della versione non attuale. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente. Ad esempio,1560468815691234
.
Utilizzando la stringa del passaggio precedente, procedi come faresti normalmente per la versione live dell'oggetto. Ad esempio, per visualizzare i metadati di una versione non corrente dell'oggetto, utilizza il comando
gcloud storage objects describe
:gcloud storage objects describe gs://my-bucket/pets/dog.png#1560468815691234
API REST
API JSON
Aggiungi il numero di generazione della versione non corrente all'URI dell'oggetto:
https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER
Dove:
BUCKET_NAME
è il nome del bucket contenente la versione non corrente. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente. Ad esempio,1560468815691234
.
Utilizzando l'URI del passaggio precedente, procedi come faresti normalmente per la versione live dell'oggetto. Ad esempio, per visualizzare i metadati di una versione non corrente dell'oggetto, utilizza cURL per chiamare l'API JSON con una richiesta Objects: get:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/my-bucket/o/pets/dog.png?generation=1560468815691234"
API XML
Aggiungi il numero di generazione della versione non corrente all'URI dell'oggetto:
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER
Dove:
BUCKET_NAME
è il nome del bucket contenente la versione non corrente. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione per la versione non corrente. Ad esempio,1560468815691234
.
Utilizzando l'URI del passaggio precedente, procedi come faresti normalmente per la versione live dell'oggetto. Ad esempio, per visualizzare i metadati di una versione non corrente di un oggetto, utilizza
cURL
per chiamare l'API XML con una richiestaHEAD
Object:curl -I GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/my-bucket/pets/dog.png?generation=1560468815691234"
Ripristinare le versioni non correnti degli oggetti
In Cloud Storage, il ripristino di una versione non aggiornata di un oggetto significa crearne una copia. In questo modo, la copia diventa la versione live, ripristinando di fatto la versione. Se esiste già una versione live e il bucket ha il controllo delle versioni degli oggetti abilitato, il ripristino della versione non corrente fa sì che la versione live preesistente diventi non corrente.
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto che ti interessa.
Viene visualizzata la pagina Dettagli bucket, con la scheda Oggetti selezionata.
Per visualizzare gli oggetti non correnti, fai clic sul menu a discesa Mostra e seleziona Oggetti attivi e non correnti.
Nell'elenco degli oggetti, fai clic sul nome della versione dell'oggetto da ripristinare.
Viene visualizzata la pagina Dettagli oggetto con la scheda Oggetto live selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Fai clic sul pulsante Ripristina per la versione che ti interessa.
Si apre il riquadro Ripristina versione dell'oggetto.
Fai clic su Conferma.
Riga di comando
Utilizza il comando gcloud storage cp
:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER gs://BUCKET_NAME
Dove:
BUCKET_NAME
è il nome del bucket che contiene la versione non corrente che vuoi ripristinare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome della versione non attuale che vuoi ripristinare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio1560468815691234
.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Operation completed over 1 objects/58.8 KiB.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta diPOST
oggetto:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?sourceGeneration=GENERATION_NUMBER"
Dove:
BUCKET_NAME
è il nome del bucket che contiene la versione non corrente che vuoi ripristinare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non attuale che vuoi ripristinare. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
API XML
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiesta diPUT
oggetto:curl -X PUT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-copy-source: BUCKET_NAME/OBJECT_NAME" \ -H "x-goog-copy-source-generation:GENERATION_NUMBER" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dove:
BUCKET_NAME
è il nome del bucket che contiene la versione non corrente che vuoi ripristinare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non attuale che vuoi ripristinare. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
Dopo il ripristino della versione dell'oggetto, la versione non corrente originale continua a esistere nel bucket. Se non hai più bisogno della versione non corrente, puoi eliminarla successivamente o configurare la gestione del ciclo di vita degli oggetti in modo che venga rimossa quando soddisfa le condizioni specificate.
Elimina le versioni non correnti degli oggetti
Console
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto che ti interessa.
Viene visualizzata la pagina Dettagli bucket, con la scheda Oggetti selezionata.
Per visualizzare gli oggetti non correnti, fai clic sul menu a discesa Mostra e seleziona Oggetti attivi e non correnti.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Nell'elenco degli oggetti, fai clic sul nome dell'oggetto di cui vuoi eliminare la versione.
Viene visualizzata la pagina Dettagli oggetto con la scheda Oggetto live selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Seleziona la casella di controllo relativa alla versione che ti interessa.
Fai clic sul pulsante Elimina.
Si apre il riquadro Elimina versione.
Conferma di voler eliminare l'oggetto digitando
delete
nel campo di testo.Fai clic su Elimina.
Riga di comando
Utilizza il comando gcloud storage rm
:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Dove:
BUCKET_NAME
è il nome del bucket contenente la versione non corrente che vuoi eliminare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome della versione non corrente che vuoi eliminare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non attuale che vuoi eliminare. Ad esempio1560468815691234
.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Operation completed over 1 objects.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione in Cloud Storage, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta diDELETE
oggetto:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER"
Dove:
BUCKET_NAME
è il nome del bucket contenente la versione non corrente che vuoi eliminare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente che vuoi eliminare. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
API XML
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML con una richiesta diDELETE
oggetto:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER"
Dove:
BUCKET_NAME
è il nome del bucket contenente la versione non corrente che vuoi eliminare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente che vuoi eliminare. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
Passaggi successivi
- Scopri di più sul controllo delle versioni degli oggetti, incluso un esempio dettagliato.
- Attiva o disattiva il controllo delle versioni degli oggetti in un bucket.
- Scopri come utilizzare la gestione del ciclo di vita degli oggetti per gestire automaticamente le versioni degli oggetti.