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 abilitato.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli oggetti non correnti, chiedi all'amministratore di concederti il ruolo IAM Utente oggetti Storage (roles/storage.objectUser
) per il progetto. Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire gli oggetti non attuali. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Potresti essere in grado di ottenere queste autorizzazioni anche con i 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à in questa pagina, avrai bisogno 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 Amministratore Storage (roles/storage.admin
) per il progetto.Se l'accesso uniforme a livello di bucket è disabilitato per il bucket, devi disporre di autorizzazioni aggiuntive nei seguenti scenari:
Se prevedi di restituire oggetti non attuali insieme ai relativi ACL, devi avere anche l'autorizzazione
storage.objects.getIamPolicy
, che non è inclusa nel ruolo Utente oggetti Storage (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore oggetti Storage (roles/storage.objectAdmin
) per il progetto.Se prevedi di rinominare o ripristinare gli oggetti non correnti che dispongono di ACL, devi avere anche l'autorizzazione
storage.objects.setIamPolicy
, che non è inclusa nel ruolo Utente oggetti Storage (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore oggetti Storage (roles/storage.objectAdmin
) per il progetto.
Elenco delle versioni degli oggetti non correnti
Per elencare le versioni attive e non correnti degli oggetti e visualizzare i relativi
numeri di generation
:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto desiderato.
Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Fai clic sul nome dell'oggetto che ti interessa.
Viene visualizzata la pagina Dettagli oggetto, con la scheda Oggetto attivo selezionata.
Fai clic sulla scheda Cronologia delle versioni.
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 pertinente. 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 C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta Objects: list: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 pertinente. Ad esempio,my-bucket
.
Le versioni non correnti degli oggetti hanno una proprietà timeDeleted
.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML, con una richiestaGET
bucket e un 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 pertinente. Ad esempio,my-bucket
.
Esistono alcune differenze nei risultati della richiesta GET
quando si utilizza il parametro di query versions
rispetto al mancato utilizzo.
In particolare, 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 è la versione più recente.
- Un elemento
NextGenerationMarker
viene restituito se l'elenco degli oggetti è parziale, il che si verifica quando un bucket contiene molte versioni degli oggetti. Utilizza il valore di questo elemento nel parametro di querygenerationmarker
delle richieste successive per riprendere dall'ultimo punto. Il parametro di querygenerationmarker
viene utilizzato nello stesso modo in cui usi il parametro di querymarker
per sfogliare un elenco di un bucket senza versione.
Accedi alle versioni degli oggetti non correnti
Per utilizzare la versione non corrente di un oggetto durante 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 corrente non è disponibile nella console Google 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
generation
della versione non corrente al nome dell'oggetto:OBJECT_NAME#GENERATION_NUMBER
Dove:
OBJECT_NAME
è il nome della versione non corrente. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione per la versione non corrente. Ad esempio,1560468815691234
.
Utilizzando la stringa del passaggio 1, procedi come faresti normalmente per la versione live dell'oggetto.
API REST
API JSON
Aggiungi il numero
generation
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 che contiene la versione non corrente. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione per la versione non corrente. Ad esempio,1560468815691234
.
Utilizzando l'URI del passaggio 1, procedi come faresti normalmente per la versione live dell'oggetto.
API XML
Aggiungi il numero
generation
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 che contiene la versione non corrente. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione per la versione non corrente. Ad esempio,1560468815691234
.
Utilizzando l'URI del passaggio 1, procedi come faresti normalmente per la versione live dell'oggetto.
Ripristina le versioni degli oggetti non correnti
In Cloud Storage, ripristinare una versione non corrente dell'oggetto significa crearne una copia. Quando lo fai, la copia diventa la versione live, ripristinando di fatto la versione. Se esiste già una versione attiva e nel bucket è abilitato il controllo delle versioni degli oggetti, 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 di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto desiderato.
Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.
Per visualizzare gli oggetti non correnti, fai clic sul pulsante di attivazione/disattivazione Mostra dati eliminati.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Fai clic sul nome dell'oggetto che ti interessa.
Viene visualizzata la pagina Dettagli oggetto, con la scheda Oggetto attivo selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Fai clic sul pulsante Ripristina della versione desiderata.
Viene visualizzato il riquadro di ripristino della versione degli oggetti.
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/OBJECT_NAME
Dove:
BUCKET_NAME
è il nome del bucket contenente la versione non corrente da ripristinare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome della versione non corrente che vuoi ripristinare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione per la versione non corrente da ripristinare. Ad esempio,1560468815691234
.
Se l'esito è positivo, la risposta sarà 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 C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST
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 contenente la versione non corrente da ripristinare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente che vuoi ripristinare. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente da ripristinare. Ad esempio:1560468815691234
.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML, con una richiestaPUT
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 contenente la versione non corrente da ripristinare. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL della versione non corrente che vuoi ripristinare. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente da ripristinare. Ad esempio:1560468815691234
.
Dopo aver ripristinato la 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 Gestione ciclo di vita degli oggetti per rimuoverla quando soddisfa le condizioni specificate.
Elimina le versioni degli oggetti non correnti
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto desiderato.
Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Fai clic sul nome dell'oggetto che ti interessa.
Viene visualizzata la pagina Dettagli oggetto, con la scheda Oggetto attivo selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Seleziona la casella di controllo relativa alla versione desiderata.
Fai clic sul pulsante Elimina.
Viene visualizzato il riquadro Elimina versione.
Conferma l'eliminazione dell'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 per la versione non corrente che vuoi eliminare. Ad esempio,1560468815691234
.
Se l'esito è positivo, la risposta sarà simile al seguente esempio:
Operation completed over 1 objects.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiestaDELETE
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
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML, con una richiestaDELETE
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
, con codifica URL comepets%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 approfondito.
- Abilita o disabilita 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.