Questa pagina illustra i campi di metadati di uso comune archiviati insieme agli oggetti in Cloud Storage.
Introduzione
Agli oggetti archiviati in Cloud Storage sono associati dei metadati.
I metadati identificano le proprietà dell'oggetto e specificano come deve essere gestito l'oggetto quando vi si accede. I metadati esistono come coppie chiave:valore. Ad esempio, la classe di archiviazione di un oggetto è rappresentata dalla voce dei metadati storageClass:STANDARD
. storageClass
è la chiave per i metadati e a tutti gli oggetti è associata questa chiave.
STANDARD
specifica il valore di questo oggetto specifico e il valore varia in base all'oggetto.
La mutabilità dei metadati varia: alcuni metadati possono essere modificati in qualsiasi momento, alcuni metadati possono essere impostati solo al momento della creazione dell'oggetto e alcuni metadati possono essere solo visualizzati. Ad esempio, puoi modificare il valore dei metadati Cache-Control
in qualsiasi momento, ma puoi assegnare i metadati storageClass
solo quando l'oggetto viene creato o riscritto, e non puoi modificare direttamente il valore dei metadati generation
, anche se il valore generation
cambia quando l'oggetto viene sostituito.
Metadati modificabili
Esistono due categorie di metadati che gli utenti possono modificare per gli oggetti:
Metadati delle chiavi fisse: metadati le cui chiavi sono impostate, ma per i quali puoi specificare un valore.
Metadati personalizzati: i metadati che aggiungi specificando sia una chiave sia un valore associati alla chiave.
Durante la modifica dei metadati, dovresti generalmente evitare i caratteri non ASCII, in quanto non sono consentiti nelle intestazioni HTTP utilizzate dall'API XML.
Metadati a chiave fissa
Puoi modificare i seguenti metadati per gli oggetti, anche se devi disporre di un'autorizzazione sufficiente per farlo:
- Metadati di controllo dell'accesso
- Controllo cache
- Disposizione-contenuti
- Codifica dei contenuti
- Lingua dei contenuti
- Tipo di contenuto
- Ora personalizzata
- Blocco di oggetti
- Configurazione della conservazione
Metadati di controllo dell'accesso
Cloud Storage utilizza Identity and Access Management (IAM) ed elenchi di controllo dell'accesso (ACL) per controllare l'accesso agli oggetti. Utilizza questi link per scoprire di più su questi metodi di controllo dell'accesso#39;accesso e sui metadati associati.
Cache-Control
I metadati Cache-Control
possono specificare due diversi aspetti del modo in cui i dati vengono forniti da Cloud Storage: se i dati possono essere memorizzati nella cache e se i dati possono essere trasformati.
Memorizzazione nella cache dei dati
I metadati Cache-Control
ti consentono di controllare se e per quanto tempo le cache del browser e di internet possono memorizzare nella cache gli oggetti, che possono poi essere pubblicati per soddisfare le richieste future. La rete Cloud Storage prende in considerazione
l'impostazione Cache-Control
di un oggetto solo quando accede agli oggetti che:
- Sono accessibili pubblicamente.
- Non vengono archiviati in un bucket in cui è abilitato i pagamenti a carico del richiedente.
- Non sono criptati con chiavi di crittografia fornite dal cliente.
Cloud Storage rispetta i valori standard per Cache-Control
, come i seguenti:
public
: l'oggetto può essere memorizzato nella cache ovunque.private
: l'oggetto può essere memorizzato nella cache locale di un richiedente.no-cache
: l'oggetto può essere memorizzato nella cache, ma non può essere utilizzato per soddisfare richieste future a meno che non venga prima convalidato da Cloud Storage.no-store
: l'oggetto non può essere memorizzato nella cache.max-age=TIME_IN_SECONDS
: per quanto tempo un oggetto può essere memorizzato nella cache prima di essere considerato inattivo. Puoi impostaremax-age
su qualsiasi intervallo di tempo. Gli oggetti inattivi non vengono pubblicati dalle cache, tranne in circostanze speciali.
Se un oggetto applicabile non dispone di una voce di metadati Cache-Control
,
Cloud Storage utilizza il valore predefinito di:
public, max-age=3600
, se l'oggetto non è criptato tramite una chiave di crittografia gestita dal cliente o archiviato all'interno di un perimetro di servizio Virtual Private Cloud.no-cache, no-store, max-age=0
, se l'oggetto è criptato tramite una chiave di crittografia gestita dal cliente.private, max-age=0
, se l'oggetto è archiviato all'interno di un perimetro di servizio Virtual Private Cloud.no-cache, no-store, max-age=0, must-revalidate
, se l'oggetto è archiviato in un perimetro di servizio Virtual Private Cloud e criptato tramite una chiave di crittografia gestita dal cliente.
Se consenti la memorizzazione nella cache, i download potrebbero continuare a ricevere versioni precedenti di un oggetto, anche dopo aver caricato una versione più recente. Questo perché la versione precedente rimane "aggiornata" nella cache per un periodo di tempo determinato da max-age
. Inoltre, poiché gli oggetti possono essere memorizzati nella cache in varie posizioni di Internet, non è possibile forzare la scadenza di un oggetto memorizzato nella cache a livello globale. Se vuoi impedire la pubblicazione di versioni memorizzate nella cache di oggetti leggibili pubblicamente, imposta Cache-Control: no-store
sull'oggetto.
Per ulteriori informazioni sulla memorizzazione nella cache con Cloud Storage e Cloud CDN, consulta Memorizzazione nella cache.
Se hai bisogno di un maggiore controllo sul comportamento della cache, puoi configurare Cloud CDN prima del tuo bucket.
Trasformazione dei dati
I metadati Cache-Control
ti consentono inoltre di gestire gli oggetti così come sono archiviati, senza applicare trasformazioni ai dati, come la rimozione della codifica dei contenuti gzip per i client non compatibili. Per pubblicare un oggetto così com'è, imposta
Cache-Control:no-transform
.
Content-Disposition
I metadati Content-Disposition
specificano le informazioni di presentazione
relative ai dati trasmessi. L'impostazione Content-Disposition
consente di controllare lo stile di presentazione dei contenuti, ad esempio
determinando se un allegato deve essere visualizzato automaticamente o se
è necessario eseguire un'azione da parte dell'utente per aprirlo. Consulta la pagina https://datatracker.ietf.org/doc/html/rfc6266 per la specifica Content-Disposition
.
Content-Encoding
I metadati Content-Encoding
possono essere utilizzati per indicare che un oggetto è
compresso, mantenendo al contempo il valore Content-Type
sottostante dell'oggetto.
Ad esempio, un file di testo compresso con gzip può avere il fatto che si tratta di un file di testo indicato in Content-Type
e il fatto che sia compresso con gzip indicato in Content-Encoding
. Devi assicurarti che i file siano effettivamente compressi utilizzando l'oggetto Content-Encoding
specificato prima di caricarli, altrimenti potrebbero verificarsi comportamenti imprevisti quando tenti di scaricare gli oggetti. Per ulteriori informazioni, consulta la pagina Transcodifica.
Per i contenuti comprimibili, ad esempio il testo, l'utilizzo di Content-Encoding: gzip
consente di risparmiare sui costi di rete e di archiviazione e migliorare le prestazioni di pubblicazione dei contenuti. Tuttavia,
per i contenuti già intrinsecamente compressi, ad esempio archivi e molti formati multimediali, l'applicazione di un altro livello di compressione e il relativo contrassegno nei metadati Content-Encoding
in genere è dannoso sia per le dimensioni
che per le prestazioni dell'oggetto e deve essere evitato.
Content-Language
I metadati Content-Language
indicano la lingua o le lingue a cui è destinato l'oggetto. Fai riferimento ai codici lingua ISO 639-1 per i valori tipici di questi metadati.
Cloud Storage supporta valori Content-Language
con una lunghezza massima di 100 caratteri.
Content-Type
I metadati impostati più di frequente sono Content-Type
(noto anche come tipo di media),
che consente ai browser di visualizzare correttamente l'oggetto. Tutti gli oggetti hanno un valore specificato nei metadati Content-Type
, ma questo valore non deve necessariamente corrispondere al tipo sottostante dell'oggetto. Ad esempio, se Content-Type
non è specificato dall'utente che ha caricato il video e non può essere determinato, viene impostato su application/octet-stream
o application/x-www-form-urlencoded
, a seconda di come è stato caricato l'oggetto. Per un elenco dei tipi di contenuti validi, visita la pagina Tipi di media IANA.
Ora personalizzata
I metadati Custom-Time
sono una data e un'ora specificate dall'utente nel formato RFC 3339 YYYY-MM-DD'T'HH:MM:SS.SS'Z'
o YYYY-MM-DD'T'HH:MM:SS'Z'
quando i millisecondi sono zero. Questi metadati vengono generalmente impostati per utilizzare la condizione DaysSinceCustomTime
in Gestione del ciclo di vita degli oggetti.
Non puoi rimuovere Custom-Time
dopo che è stato impostato su un oggetto. Inoltre, il valore di Custom-Time
non può diminuire. Ciò significa che non puoi impostare Custom-Time
in modo che sia precedente a quella di Custom-Time
esistente. Tuttavia, puoi rimuovere o reimpostare in modo efficace Custom-Time
riscrivendo l'oggetto.
Blocchi degli oggetti
Utilizza i flag dei metadati per applicare blocchi degli oggetti che impediscono l'eliminazione o la sostituzione degli oggetti. Per ulteriori informazioni, consulta la pagina Blocchi di oggetti.
Configurazione della conservazione
Se presente, la configurazione di conservazione di un oggetto definisce una data e un'ora precedenti alle quali l'oggetto non può essere eliminato o sostituito. Per ulteriori informazioni, consulta Blocco della conservazione degli oggetti.
Metadati personalizzati
I metadati personalizzati sono metadati per i quali definisci sia la chiave sia il valore. Per creare metadati personalizzati, devi specificare sia una chiave sia un valore. Dopo aver creato una coppia di metadati personalizzati key:value
, puoi eliminare la chiave o modificarne il valore.
I metadati personalizzati sono soggetti a un limite di dimensioni e comportano costi di archiviazione.
La pagina Visualizzazione e modifica dei metadati include informazioni sull'impostazione dei metadati personalizzati.
Il prefisso x-goog-meta-
L'API XML imposta e recupera i metadati degli oggetti utilizzando le intestazioni delle richieste, mentre l'API JSON consente di impostare metadati personalizzati nella richiesta finale di un caricamento ripristinabile utilizzando le intestazioni delle richieste. Per distinguere chiaramente le intestazioni dei metadati personalizzate dalle intestazioni delle richieste standard, entrambe le API antepongono il prefisso x-goog-meta-
a queste intestazioni.
Metadati non modificabili
Alcuni metadati non possono essere modificati direttamente. Questi metadati vengono impostati al momento della creazione o della riscrittura dell'oggetto. Nell'ambito della creazione o della riscrittura degli oggetti, puoi impostare alcuni metadati di questo tipo, ad esempio la classe di archiviazione dell'oggetto o le chiavi di crittografia gestite dal cliente. Altri metadati vengono aggiunti automaticamente e possono essere visualizzati solo, ad esempio il numero di generazione dell'oggetto o l'ora di creazione.
Numeri di generazione e metagenerazione
Come parte dei metadati, ogni oggetto Cloud Storage ha una proprietà generation
numerica e una proprietà metageneration
numerica che identifica in modo univoco l'oggetto:
Proprietà | Descrizione |
---|---|
generation |
Identifica la versione di un oggetto ed esiste per ogni oggetto, a prescindere dal fatto che un bucket utilizzi il controllo delle versioni degli oggetti.
|
metageneration |
Identifica la versione dei metadati e aumenta ogni volta che i metadati di un determinato generation vengono aggiornati.
|
Le proprietà generation
e metageneration
vengono utilizzate nelle seguenti
circostanze:
Quando utilizzi le precondizioni nelle richieste: le precondizioni fanno sì che la richiesta non vada a buon fine se la precondizione non è soddisfatta. Se questo metodo non funziona, la richiesta non viene applicata a una versione imprevista di un oggetto, ad esempio il recupero dei dati dell'oggetto sbagliati o la modifica dello stato sbagliato dei metadati di un oggetto.
Quando elenchi, accedi, ripristini ed elimini versioni degli oggetti non correnti: le versioni degli oggetti non attuali sono pertinenti in modo specifico nei bucket che utilizzano o utilizzato in precedenza il controllo delle versioni degli oggetti.
Ora di modifica
Come parte dei metadati, ogni oggetto Cloud Storage ha una proprietà updated
che indica l'ultima volta che i metadati dell'oggetto sono stati modificati. L'ora updated
è impostata inizialmente sull'ora di creazione dell'oggetto e poi cambia ogni volta che i metadati dell'oggetto vengono modificati. Ciò include modifiche apportate da un richiedente, ad esempio la modifica di metadati personalizzati, nonché modifiche apportate da Cloud Storage per conto di un richiedente, ad esempio la modifica della classe di archiviazione in base a una configurazione del ciclo di vita dell'oggetto.
Passaggi successivi
- Visualizzare e modificare i metadati degli oggetti.
- Scopri di più sulle classi di archiviazione disponibili.
- Per una descrizione dettagliata di tutti i campi di metadati degli oggetti disponibili nell'API JSON, consulta la documentazione di riferimento degli oggetti per JSON.
- Scopri di più sui report sull'inventario di Storage Insights, che consentono di recuperare contemporaneamente i metadati di tutti gli oggetti in un bucket.