In questa pagina viene descritto come elencare, accedere, ripristinare ed eliminare gli oggetti non correnti, che in genere si applica ai bucket con la funzionalità Controllo delle versioni degli oggetti abilitato.
Autorizzazioni obbligatorie
Console
Per completare questa guida utilizzando la console Google Cloud, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere esiste in un progetto che non hai creato, potresti aver bisogno che il proprietario del progetto ti assegni un ruolo contenente le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per la console Google Cloud.
Per un elenco dei ruoli pertinenti, consulta Ruoli Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Riga di comando
Per completare questa guida utilizzando un'utilità a riga di comando, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere esiste in un progetto che non hai creato, potresti aver bisogno che il proprietario del progetto ti assegni un ruolo contenente le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per i comandi gsutil.
Per un elenco dei ruoli pertinenti, consulta Ruoli Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Librerie client
Per completare questa guida utilizzando le librerie client di Cloud Storage, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere esiste in un progetto che non hai creato, potresti aver bisogno che il proprietario del progetto ti assegni un ruolo contenente le autorizzazioni necessarie.
Se non diversamente specificato, le richieste della libreria client vengono effettuate tramite l'API JSON e richiedono le autorizzazioni elencate nelle autorizzazioni IAM per i metodi JSON. Per vedere quali metodi dell'API JSON vengono richiamati quando effettui richieste utilizzando una libreria client, registra le richieste non elaborate.
Per un elenco di ruoli IAM pertinenti, consulta i ruoli Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
API REST
API JSON
Per completare questa guida utilizzando l'API JSON, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere esiste in un progetto che non hai creato, potresti aver bisogno che il proprietario del progetto ti assegni un ruolo contenente le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta la pagina relativa alle autorizzazioni IAM per i metodi JSON.
Per un elenco dei ruoli pertinenti, consulta Ruoli Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Elenca le versioni degli oggetti non correnti
Per elencare le versioni live e non correnti degli oggetti e visualizzarne i
numeri 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.
Si apre la pagina dei dettagli del bucket, con la scheda Oggetti selezionata.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Fai clic sul nome dell'oggetto desiderato.
Si apre la pagina Dettagli oggetto, con la scheda Oggetto pubblicato selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Riga di comando
gcloud
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 sarà simile all'esempio seguente:
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
gsutil
Utilizza il comando gsutil ls -a
:
gsutil ls -a gs://BUCKET_NAME
Dove BUCKET_NAME
è il nome del bucket pertinente. Ad esempio, my-bucket
.
La risposta sarà simile all'esempio seguente:
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 ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage C++.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage C#.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Go.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Java.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Node.js.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage PHP.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Python.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Ruby.
API REST
API JSON
- Richiedi un token di accesso all'autorizzazione da Playground OAuth 2.0. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare API JSON con una richiestaLIST
Object:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai creato nel passaggio 1.BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
Le versioni non aggiornate degli oggetti hanno una proprietà timeDeleted
.
API XML
- Richiedi un token di accesso all'autorizzazione da Playground OAuth 2.0. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare l'API XML, con una richiesta diGET
Bucket e un parametro di stringa di queryversions
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai creato nel passaggio 1.BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
Ci sono alcune differenze nei risultati della richiesta GET
quando
utilizzi il parametro di ricerca versions
rispetto a quando non lo utilizzi.
In particolare, Cloud Storage restituisce le seguenti informazioni quando includi un parametro di ricerca versions
nella richiesta:
- Un elemento
Version
che contiene informazioni su ciascun oggetto. - Un elemento
DeletedTime
contenente 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, cosa che si verifica quando in un bucket sono presenti molte versioni dell'oggetto. Utilizza il valore di questo elemento nel parametro di ricercagenerationmarker
delle richieste successive per riprendere dal tuo ultimo punto. Il parametro di ricercagenerationmarker
viene utilizzato nello stesso modo in cui utilizzi il parametro di ricercamarker
per sfogliare una scheda per un bucket non in versione.
Accedi alle versioni degli oggetti non correnti
Per utilizzare la versione non corrente di un oggetto quando si eseguono attività come scaricare l'oggetto, visualizzarne i metadati o aggiornarne i metadati:
Console
L'accesso generale a una versione non attuale non è disponibile nella console Google Cloud. Con la console Google Cloud puoi spostare, copiare, ripristinare o eliminare solo una versione non corrente. Queste azioni vengono eseguite dall'elenco della cronologia delle versioni per un oggetto.
Riga di comando
gcloud
Aggiungi il numero
generation
della versione non attuale 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 della versione non attuale. Ad esempio,1560468815691234
.
Utilizzando la stringa del passaggio 1, procedi come faresti normalmente per la versione live dell'oggetto.
gsutil
Aggiungi il numero
generation
della versione non attuale 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 della versione non attuale. 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 attuale 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 della versione non attuale della codifica URL. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non attuale. 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 attuale 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 della versione non attuale della codifica URL. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente. Ad esempio,1560468815691234
.
Utilizzando l'URI del passaggio 1, procedi come faresti normalmente per la versione live dell'oggetto.
Ripristina versioni non aggiornate dell'oggetto
In Cloud Storage, il ripristino di una versione di un oggetto non attuale significa crearne una copia. In questo caso, la copia diventa la versione live, ripristinando di fatto la versione. Se è già presente una versione live e il bucket ha il controllo delle versioni degli oggetti abilitato, il ripristino della versione non corrente comporta la non versione attuale.
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.
Si apre la pagina dei dettagli del bucket, con la scheda Oggetti selezionata.
Per visualizzare gli oggetti eliminati, 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 desiderato.
Si apre la pagina Dettagli oggetto, con la scheda Oggetto pubblicato selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Fai clic sul pulsante Ripristina relativo alla versione che ti interessa.
Viene aperto il riquadro della versione dell'oggetto di ripristino.
Fai clic su Conferma.
Riga di comando
gcloud
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 che vuoi ripristinare. Ad esempio:my-bucket
.OBJECT_NAME
è il nome della versione non corrente da ripristinare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
In caso di esito positivo, la risposta avrà il seguente esempio:
Operation completed over 1 objects/58.8 KiB.
gsutil
Utilizza il comando gsutil cp
:
gsutil 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 che vuoi ripristinare. Ad esempio:my-bucket
.OBJECT_NAME
è il nome della versione non corrente da ripristinare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
In caso di esito positivo, la risposta avrà il seguente esempio:
Operation completed over 1 objects/58.8 KiB.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage C++.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage C#.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Go.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Java.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Node.js.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage PHP.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Python.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Ruby.
API REST
API JSON
- Richiedi un token di accesso all'autorizzazione da Playground OAuth 2.0. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare API JSON con una richiestaPOST
Object:curl -X POST \ -H "Authorization: Bearer OAUTH2_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:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.BUCKET_NAME
è il nome del bucket contenente la versione non corrente che vuoi 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 attuale da ripristinare. Ad esempio:1560468815691234
.
API XML
- Richiedi un token di accesso all'autorizzazione da Playground OAuth 2.0. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare l'API XML, con una richiesta dell'oggettoPUT
:curl -X PUT \ -H "Authorization: Bearer OAUTH2_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:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.BUCKET_NAME
è il nome del bucket contenente la versione non corrente che vuoi 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 attuale da ripristinare. Ad esempio:1560468815691234
.
Dopo il ripristino della versione dell'oggetto, la versione originale non corrente continua a esistere nel bucket. Se non hai più bisogno della versione non corrente, puoi eliminarla successivamente o configurare la Gestione oggetti ciclo di vita 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.
Si apre la pagina dei dettagli del bucket, con la scheda Oggetti selezionata.
Vai all'oggetto, che potrebbe trovarsi in una cartella.
Fai clic sul nome dell'oggetto desiderato.
Si apre la pagina Dettagli oggetto, con la scheda Oggetto pubblicato 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 di voler eliminare l'oggetto digitando
delete
nella casella di testo.Fai clic su Elimina.
Riga di comando
gcloud
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 attuale da eliminare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
In caso di esito positivo, la risposta avrà il seguente esempio:
Operation completed over 1 objects.
gsutil
Utilizza il comando gsutil rm
:
gsutil 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 attuale da eliminare. Ad esempio,pets/dog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
In caso di esito positivo, la risposta avrà il seguente esempio:
Operation completed over 1 objects.
Librerie client
C++
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage C++.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage C#.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Go.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Java.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Node.js.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage PHP.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Python.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento per l'API Cloud Storage Ruby.
API REST
API JSON
- Richiedi un token di accesso all'autorizzazione da Playground OAuth 2.0. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare API JSON con una richiestaDELETE
Object:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.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
- Richiedi un token di accesso all'autorizzazione da Playground OAuth 2.0. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta Autenticazione API.
Utilizza
cURL
per chiamare l'API XML, con una richiesta dell'oggettoDELETE
:curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER"
Dove:
OAUTH2_TOKEN
è il token di accesso che hai generato nel passaggio 1.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 di approfondimento.
- Abilita o disabilita il controllo delle versioni degli oggetti su un bucket.
- Scopri come utilizzare la Gestione del ciclo di vita degli oggetti per gestire automaticamente le versioni degli oggetti.