Questa pagina descrive come elencare, accedere, ripristinare ed eliminare gli oggetti non correnti, solitamente applicabili 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 oggetto archiviazione (roles/storage.objectUser
) nel progetto. Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire gli oggetti non correnti. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
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 caso d'uso, potresti aver bisogno di autorizzazioni aggiuntive o di ruoli alternativi:
Se prevedi di utilizzare la console Google Cloud per eseguire le attività in questa pagina, ti servirà anche l'autorizzazione
storage.buckets.list
, che non è inclusa nel ruolo Utente oggetto archiviazione (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore archiviazione (roles/storage.admin
) nel progetto.Se l'accesso uniforme a livello di bucket è disabilitato per il tuo bucket, sono necessarie autorizzazioni aggiuntive nei seguenti scenari:
Se prevedi di restituire oggetti non correnti insieme alle relative ACL, hai bisogno anche dell'autorizzazione
storage.objects.getIamPolicy
, che non è inclusa nel ruolo Utente di oggetti di archiviazione (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore oggetti archiviazione (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 archiviazione (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti il ruolo Amministratore oggetti archiviazione (roles/storage.objectAdmin
) nel progetto.
Elenca le versioni non correnti degli oggetti
Per elencare le versioni attive e non correnti degli oggetti e visualizzarne i
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 in tempo reale 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 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.
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.
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.
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.
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.
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.
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.
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.
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 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 che contiene gli oggetti. Ad esempio,my-bucket
.
Le versioni non correnti degli oggetti hanno una proprietà timeDeleted
.
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 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 viene utilizzato.
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 la data e 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.
- Viene restituito un elemento
NextGenerationMarker
se l'elenco di oggetti è parziale, il che si verifica quando sono presenti molte versioni di oggetti in un bucket. Utilizza il valore di questo elemento nelgenerationmarker
parametro di query delle richieste successive per riprendere dall'ultimo punto. Il parametro della querygenerationmarker
viene utilizzato nello stesso modo in cui utilizzi il parametro della querymarker
per sfogliare una scheda di un bucket senza versione.
Accedere alle versioni non correnti degli oggetti
Per utilizzare la versione non corrente di un oggetto quando esegui attività come scaricarlo, visualizzarne i metadati o aggiornarne i metadati:
Console
L'accesso generale a una versione non corrente non è disponibile nella console Google Cloud. Con la console Google Cloud puoi solo spostare, copiare, restore 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 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 precedente, procedi come faresti normalmente per la versione pubblicata 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 URL comepets%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 pubblicata dell'oggetto. Ad esempio, per visualizzare i metadati di una versione dell'oggetto non corrente, 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 URL comepets%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 pubblicata dell'oggetto. Ad esempio, per visualizzare i metadati di una versione dell'oggetto non corrente, 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 comporta la sua creazione di una copia. In questo modo, la copia diventa la versione pubblicata, ripristinandola di fatto. Se esiste già una versione live e il bucket ha attivato il controllo delle versioni degli oggetti, il ripristino della versione non corrente comporta la disattivazione della versione live preesistente.
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 recuperare.
Viene visualizzata la pagina Dettagli oggetto con la scheda Oggetto in tempo reale selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Fai clic sul pulsante Ripristina per la versione che ti interessa.
Viene visualizzato il riquadro Ripristina la 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/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 per la versione non corrente che vuoi ripristinare. Ad esempio,1560468815691234
.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Operation completed over 1 objects/58.8 KiB.
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.
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.
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.
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.
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.
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.
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.
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.
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 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 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
, codificato come URL inpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
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 richiesta diPUT
Object: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 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
, codificato come URL inpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
Dopo aver ripristinato la versione dell'oggetto, la versione non corrente originale continua a essere presente nel bucket. Se la versione non corrente non ti serve più, puoi eliminarla in un secondo momento o configurare Gestione del ciclo di vita degli oggetti in modo da rimuoverla quando soddisfa le condizioni specificate.
Eliminare 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 in tempo reale selezionata.
Fai clic sulla scheda Cronologia delle versioni.
Seleziona la casella di controllo per la versione che ti interessa.
Fai clic sul pulsante Elimina.
Viene visualizzato 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 per la versione non corrente che vuoi eliminare. Ad esempio,1560468815691234
.
Se l'operazione ha esito positivo, la risposta è simile al seguente esempio:
Operation completed over 1 objects.
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.
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.
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.
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.
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.
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.
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.
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.
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 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 URL inpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi eliminare. Ad esempio:1560468815691234
.
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 richiesta diDELETE
Object: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 URL inpets%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.