Questa pagina descrive 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.
Prerequisiti
I prerequisiti possono variare in base allo strumento utilizzato:
console
Per completare questa guida utilizzando Google Cloud Console, devi disporre delle autorizzazioni IAM appropriate. Se il bucket a cui vuoi accedere esiste in un progetto non creato da te, potresti dover chiedere al proprietario del progetto di concederti un ruolo con le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per Google Cloud Console.
Per un elenco dei ruoli pertinenti, consulta Ruoli di 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 non creato da te, potresti dover chiedere al proprietario del progetto di concederti un ruolo con le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per comandi gsutil.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Esempi di codice
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, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo contenente le autorizzazioni necessarie. Se non diversamente indicato, le richieste della libreria client vengono effettuate tramite l'API JSON.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta le autorizzazioni IAM per i metodi JSON.
Per un elenco dei ruoli pertinenti, consulta Ruoli di 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 non creato da te, potresti dover chiedere al proprietario del progetto di assegnarti un ruolo contenente le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta le autorizzazioni IAM per i metodi JSON.
Per un elenco dei ruoli pertinenti, consulta Ruoli di 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 in tempo reale e non correnti degli oggetti e visualizzare i rispettivi numeri generation
:
console
- In Google Cloud Console, vai alla pagina Browser 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 desiderato.
Si apre la pagina Dettagli oggetto, con la scheda Oggetto attivo selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Riga di comando
gcloud
Utilizza il comando gcloud alpha storage ls --all-versions
:
gcloud alpha storage ls --all-versions gs://BUCKET_NAME
Dove BUCKET_NAME
è il nome del bucket pertinente. Ad esempio, my-bucket
.
La risposta sarà 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 ...
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 al seguente esempio:
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
Esempi di codice
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C# .
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
API REST
API JSON
- Ottieni un token di accesso all'autorizzazione da OAuth 2.0 Playground. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta la pagina relativa all'autenticazione API.
Utilizza
cURL
per chiamare l'API JSON con una richiestaLIST
Oggetto: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 correnti degli oggetti hanno una proprietà timeDeleted
.
API XML
- Ottieni un token di accesso all'autorizzazione da OAuth 2.0 Playground. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta la pagina relativa all'autenticazione API.
Utilizzare
cURL
per chiamare l'API XML, con una richiestaGET
di 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
.
Esistono 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 tua richiesta:
- Elemento
Version
che contiene informazioni su ogni oggetto. - Elemento
DeletedTime
contenente il momento 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 di oggetti è un elenco parziale, che si verifica quando sono presenti molte versioni dell'oggetto in un bucket. 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 relativa a un bucket non versione.
Accedi alle versioni degli oggetti non correnti
Per utilizzare la versione non corrente di un oggetto quando esegui attività come scaricare l'oggetto, visualizzare i suoi metadati o aggiornare i relativi metadati:
console
L'accesso generale a una versione non corrente non è disponibile in Google Cloud Console. Con Google Cloud Console 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 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 della versione non corrente. 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 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 della 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
, ha la 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.
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
, ha la 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 degli oggetti non correnti
In Cloud Storage, ripristinare una versione non corrente dell'oggetto significa crearne una copia. In questo modo, la copia diventa la versione pubblicata, ripristinando efficacemente 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
- In Google Cloud Console, vai alla pagina Browser 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 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 attivo 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 alpha storage cp
:
gcloud alpha 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 che vuoi 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 sarà simile al 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 che vuoi 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 sarà simile al seguente esempio:
Operation completed over 1 objects/58.8 KiB.
Esempi di codice
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C# .
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
API REST
API JSON
- Ottieni un token di accesso all'autorizzazione da OAuth 2.0 Playground. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta la pagina relativa all'autenticazione API.
Utilizza
cURL
per chiamare l'API JSON con una richiestaPOST
Oggetto: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 da ripristinare. Ad esempio,pets/dog.png
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente da ripristinare. Ad esempio:1560468815691234
.
API XML
- Ottieni un token di accesso all'autorizzazione da OAuth 2.0 Playground. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta la pagina relativa all'autenticazione API.
Usa
cURL
per chiamare l'API XML, con una richiestaPUT
Oggetto: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 da ripristinare. Ad esempio,pets/dog.png
, codificato come URLpets%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 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 Lifecycleyle per rimuoverla quando soddisfa le condizioni che hai specificato.
Elimina versioni dell'oggetto non correnti
console
- In Google Cloud Console, vai alla pagina Browser 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 desiderato.
Si apre 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 che ti interessa.
Fai clic sul pulsante Elimina.
Viene visualizzato il riquadro di eliminazione della 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 alpha storage rm
:
gcloud alpha 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 corrente che vuoi eliminare. Ad esempio,1560468815691234
.
In caso di esito positivo, la risposta sarà simile al 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 corrente che vuoi 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 sarà simile al seguente esempio:
Operation completed over 1 objects.
Esempi di codice
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C++.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage C# .
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
API REST
API JSON
- Ottieni un token di accesso all'autorizzazione da OAuth 2.0 Playground. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta la pagina relativa all'autenticazione API.
Utilizza
cURL
per chiamare l'API JSON con una richiestaDELETE
Oggetto: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
, codificato come URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
API XML
- Ottieni un token di accesso all'autorizzazione da OAuth 2.0 Playground. Configura il parco giochi in modo che utilizzi le tue credenziali OAuth. Per le istruzioni, consulta la pagina relativa all'autenticazione API.
Usa
cURL
per chiamare l'API XML, con una richiestaDELETE
Oggetto: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
, 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 di approfondimento.
- 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.