Questa pagina descrive come elencare, accedere, ripristinare ed eliminare gli oggetti non correnti, che in genere si applica ai bucket contenenti la caratteristica Controllo delle versioni degli oggetti abilitato.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli oggetti non attuali, chiedi al tuo
che ti conceda l'Utente oggetto Storage (roles/storage.objectUser
)
ruolo IAM per il progetto. Questo ruolo predefinito contiene
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 alternative ruoli:
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 nei seguenti scenari:
Se prevedi di restituire oggetti non correnti insieme ai relativi ACL, anche l'autorizzazione
storage.objects.getIamPolicy
, che non è incluso nel ruolo Utente oggetti Storage (roles/storage.objectUser
). Per ottenere questa autorizzazione, chiedi all'amministratore di concederti lo spazio di archiviazione Ruolo Amministratore oggetti (roles/storage.objectAdmin
) per il progetto.Se prevedi di rinominare o ripristinare gli oggetti non correnti che hanno ACL, devi avere anche l'autorizzazione
storage.objects.setIamPolicy
, che non è incluso nel ruolo Utente oggetti Storage (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 di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene dell'oggetto desiderato.
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 le cui versioni che vuoi vedere.
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 eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
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 ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Python.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con un Oggetti: elenco richiesta: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 inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML, con unGET
Richiesta di bucket eversions
parametro della stringa di query: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 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 tua richiesta:
- Un elemento
Version
che contiene informazioni su ogni oggetto. - Un elemento
DeletedTime
che contiene l'ora della versione dell'oggetto non è più aggiornato (eliminato o sostituito). - Un elemento "IsLatest" che indica se l'oggetto specifico è la versione più recente.
- Viene restituito un elemento
NextGenerationMarker
se l'elenco di oggetti è un elenco parziale, il che si verifica quando hai molte versioni di oggetti in un bucket. Utilizza il valore di questo elemento nelgenerationmarker
parametro di query delle richieste successive in ordine 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.
Accedi alle versioni degli oggetti non correnti
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 in nella console Google Cloud. Con la console Google Cloud, puoi solo spostare, copia, ripristina o elimina una versione non corrente. Queste azioni vengono eseguite dall'elenco della cronologia delle versioni per 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 risorsa non corrente completamente gestita. 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 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 al 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
, con codifica 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 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 al 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 codificato nell'URL del alla versione non corrente. Ad esempio,pets/dog.png
, codificato come URL comepets%2Fdog.png
.GENERATION_NUMBER
è la generazione numero 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 dell'oggetto non corrente, utilizza
cURL
per richiamare API XML con una richiesta oggettoHEAD
:curl -I GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/my-bucket/pets/dog.png?generation=1560468815691234"
Ripristina le versioni non correnti degli oggetti
In Cloud Storage, ripristinare una versione non corrente dell'oggetto significa eseguire una una copia. In questo modo, la copia diventa la versione pubblicata, ripristinandola di fatto. Se esiste già una versione attiva e il bucket Controllo delle versioni degli oggetti abilitato, il ripristino della versione non corrente causa il una versione live preesistente perché 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 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.
Si apre il riquadro di ripristino della 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 da 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 ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
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 ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che consente generi 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 codificato nell'URL del e la versione non corrente che vuoi ripristinare. Ad esempio:pets/dog.png
, con codifica URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione della versione non corrente che vuoi ripristinare. Ad esempio:1560468815691234
.
API XML
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, 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 codificato nell'URL del e la versione non corrente che vuoi ripristinare. Ad esempio:pets/dog.png
, con codifica URLpets%2Fdog.png
.GENERATION_NUMBER
è il numero di generazione per la 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 non hai più bisogno della versione non corrente, puoi successivamente eliminarlo o configurare Gestione del ciclo di vita degli oggetti per rimuoverlo quando soddisfa le condizioni da te specificate.
Elimina le versioni dell'oggetto non correnti
Console
- Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che contiene dell'oggetto desiderato.
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 da eliminare.
Si apre la pagina Dettagli oggetto con la scheda Oggetto live selezionato.
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 risorsa 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 è 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 ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage C#.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Go.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
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 ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
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 ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Ruby.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con un 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
, 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 gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API XML, con un 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 codificato nell'URL del e la 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 approfondito.
- Abilita o disabilita il controllo delle versioni degli oggetti su un bucket.
- Scopri come utilizzare Gestione del ciclo di vita degli oggetti per la gestione automatica. o versioni successive dell'oggetto.