Utilizzo dei metadati degli oggetti - Amazon Simple Storage Service

Utilizzo dei metadati degli oggetti

Puoi impostare i metadati degli oggetti in Amazon S3 al momento del caricamento dell'oggetto. I metadati dell'oggetto sono invece un set di coppie nome-valore Una volta caricato l'oggetto, non è possibile modificare i metadata corrispondenti. L'unico modo per modificarli è eseguire una copia dell'oggetto e impostare i metadata.

Quando si crea un oggetto, viene specificato anche il nome della chiave che lo identifica in modo univoco nel bucket. La chiave oggetto (o nome di chiave) identifica l'oggetto in modo univoco in un bucket Amazon S3. Per ulteriori informazioni, consulta Creazione di nomi di chiavi oggetto.

Esistono due tipi di metadati in Amazon S3: metadati definiti dal sistema e metadati definiti dall'utente. Le sezioni seguenti forniscono ulteriori informazioni sui metadati definiti dal sistema e definiti dall'utente. Per ulteriori informazioni sulla modifica dei metadati tramite la console Amazon S3, consulta Modifica dei metadati degli oggetti nella console Amazon S3.

Metadata di oggetti definiti dal sistema

Per ogni oggetto archiviato in un bucket, Amazon S3 mantiene un set di metadati di sistema. Questi metadati vengono elaborati da Amazon S3 in base alle necessità. Ad esempio, Amazon S3 mantiene i metadati sulla dimensione e sulla data di creazione degli oggetti e utilizza queste informazioni come parte della gestione degli oggetti.

Esistono due categorie di metadata di sistema:

  1. I metadati, come la data di creazione dell'oggetto, sono controllati dal sistema e il valore di questi metadati può essere modificato solo da Amazon S3.

  2. Altri metadata di sistema, come la classe di storage configurata per l'oggetto e se la crittografia lato server è abilitata per l'oggetto, sono esempi di metadata di sistema, il cui valore viene controllato dall'utente. Se il bucket è configurato come sito Web, è possibile che si desideri reindirizzare la richiesta di una pagina a un'altra pagina o a un URL esterno. In questo caso, la pagina Web è un oggetto nel bucket. Amazon S3 archivia il valore di reindirizzamento della pagina come metadati di sistema, il cui valore può essere controllato dall'utente.

    Quando si creano oggetti, è possibile configurare i valori di questi metadata di sistema o aggiornarli in base alle esigenze. Per ulteriori informazioni sulle classi di storage, consulta Utilizzo delle classi di storage di Amazon S3.

    Amazon S3 utilizza le chiavi AWS KMS per crittografare i tuoi oggetti Amazon S3. AWS KMS crittografa solo i dati dell'oggetto. Il checksum, insieme all'algoritmo specificato, vengono archiviati come parte dei metadati dell'oggetto. Se la crittografia lato server viene richiesta per l'oggetto, il checksum viene archiviato in formato crittografato. Per ulteriori informazioni sulla crittografia lato server, consulta Protezione dei dati tramite crittografia.

Nota

L'intestazione della richiesta PUT è limitata a una dimensione di 8 KB. Nell'intestazione della richiesta PUT, la dimensione dei metadati definiti dal sistema è limitata a 2 KB. La dimensione dei metadati definiti dal sistema viene calcolata sommando il numero di byte della codifica US-ASCII di ogni chiave e valore.

Nella tabella riportata di seguito viene fornito un elenco dei metadata definiti dal sistema e viene indicato se è possibile modificarli.

Nome Descrizione L'utente può modificare il valore?
Data Data e ora correnti. No
Cache-Control Un campo di intestazione generico utilizzato per specificare i criteri di memorizzazione nella cache.
Content-Disposition Informazioni relative alla modalità di presentazione dell'oggetto.
Content-Length Dimensione dell'oggetto in byte. No
Content-Type Tipo di oggetto
Last-Modified

Data di creazione dell'oggetto o data dell'ultima modifica, scegliendo la più recente delle due.

No
ETag Rappresenta una versione specifica di un oggetto. Per gli oggetti che non vengono caricati come caricamento in più parti e sono non crittografati oppure crittografati mediante crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3), l'ETag è un digest MD5 dei dati. No
x-amz-server-side-encryption Indica se la crittografia lato server è abilitata per l'oggetto e se proviene da AWS Key Management Service (AWS KMS) o da una crittografia gestita da Amazon S3 (SSE-S3). Per ulteriori informazioni, consulta Protezione dei dati con la crittografia lato server.
x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, x-amz-checksum-sha256 Contiene il checksum o il digest dell'oggetto. Viene impostata al massimo una intestazione alla volta, a seconda dell'algoritmo di checksum che Amazon S3 deve utilizzare. Per ulteriori informazioni sulla scelta dell'algoritmo di checksum, consulta Verifica dell'integrità degli oggetti. No
x-amz-version-id Versione dell'oggetto. Quando abiliti la funzione Controllo delle versioni in un bucket, Amazon S3 assegna un numero di versione agli oggetti aggiunti al bucket. Per ulteriori informazioni, consulta Utilizzo della funzione Controllo delle versioni nei bucket S3. No
x-amz-delete-marker In un bucket con la funzione Controllo delle versioni abilitata, questo contrassegno booleano indica se l'oggetto è un contrassegno di eliminazione. No
x-amz-storage-class Classe di storage utilizzata per l'archiviazione dell'oggetto. Per ulteriori informazioni, consulta Utilizzo delle classi di storage di Amazon S3.
x-amz-website-redirect-location Reindirizza le richieste per l'oggetto associato a un altro oggetto nello stesso bucket o a un URL esterno. Per ulteriori informazioni, consulta (Facoltativo) Configurazione del reindirizzamento di una pagina Web. Questo valore è univoco per ogni singolo oggetto e di default non viene copiato.
x-amz-server-side-encryption-aws-kms-key-id Se x-amz-server-side-encryption è presente e ha il valore di aws:kms, indica l'ID della chiave KMS di crittografia simmetrica AWS KMS utilizzata per l'oggetto.
x-amz-server-side-encryption-customer-algorithm Indica se è abilitata la crittografia lato server con le chiavi di crittografia fornite dal cliente (SSE-C). Per ulteriori informazioni, consulta Utilizzo della crittografia lato server con chiavi fornite dal cliente (SSE-C).
x-amz-tagging Il set di tag per l'oggetto. Il set di tag deve essere codificato sotto forma di parametri della URL Query.

Metadati di oggetti definiti dall'utente

Quando si carica un oggetto, è anche possibile assegnare metadata a esso. Queste informazioni facoltative vengono fornite come coppia nome-valore (chiave-valore) quando si invia una richiesta PUT o POST per creare l'oggetto. Quando si caricano gli oggetti utilizzando REST API, i nomi facoltativi dei metadata definiti dall'utente devono iniziare con "x-amz-meta-" per distinguerli dalle altre intestazioni HTTP. Quando si recupera l'oggetto utilizzando REST API, questo prefisso viene restituito. Quando si caricano gli oggetti utilizzando l'API SOAP, il prefisso non è necessario. Quando si recupera l'oggetto mediante l'API SOAP, il prefisso viene rimosso, indipendentemente dall'API utilizzata per caricare l'oggetto.

Nota

Il supporto di SOAP su HTTP non viene più utilizzato ma è ancora disponibile su HTTPS. Le nuove funzioni di Amazon S3 non sono supportate per SOAP. Invece di utilizzare SOAP, si consiglia di utilizzare REST API o gli SDK AWS.

Quando i metadati vengono recuperati tramite REST API, Amazon S3 riunisce le intestazioni con lo stesso nome (senza distinzione tra maiuscole e minuscole) in un elenco delimitato da virgole. I metadata contenenti caratteri non stampabili non vengono restituiti. Al contrario, viene restituita l'intestazione x-amz-missing-meta con il numero di voci di metadata non stampabili come valore. L'operazione HeadObject richiama i metadati da un oggetto senza restituire l'oggetto stesso. Questa operazione è utile se sei interessato solo ai metadati di un oggetto. Per utilizzare HEAD, è necessario disporre dell'accesso in LETTURA all'oggetto. Per maggiori informazioni, consulta HeadObject nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

I metadata definiti dall'utente sono un set di coppie chiave-valore. Amazon S3 archivia le chiavi dei metadati definiti dall'utente in caratteri minuscoli.

Amazon S3 consente caratteri Unicode arbitrari nei valori dei metadati.

Per evitare problemi relativi alla presentazione di questi valori di metadati, è necessario conformarsi all'utilizzo dei caratteri US-ASCII quando si usano REST e UTF-8 con SOAP o caricamenti basati su browser tramite POST.

Quando si utilizzano caratteri non US-ASCII nei valori dei metadati, la stringa Unicode fornita viene esaminata alla ricerca di caratteri non US-ASCII. I caratteri dei valori di tali header sono decodificati come da RFC 2047 prima di memorizzarli e codificarli come da RFC 2047 per renderli sicuri per la posta elettronica prima di restituirli. Se la stringa contiene solo caratteri US-ASCII, viene presentata così com'è.

Di seguito è riportato un esempio.

PUT /Key HTTP/1.1 Host: awsexamplebucket1.s3.amazonaws.com x-amz-meta-nonascii: ÄMÄZÕÑ S3 HEAD /Key HTTP/1.1 Host: awsexamplebucket1.s3.amazonaws.com x-amz-meta-nonascii: =?UTF-8?B?w4PChE3Dg8KEWsODwpXDg8KRIFMz?= PUT /Key HTTP/1.1 Host: awsexamplebucket1.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3 HEAD /Key HTTP/1.1 Host: awsexamplebucket1.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3
Nota

L'intestazione della richiesta PUT è limitata a una dimensione di 8 KB. Nell'intestazione della richiesta PUT, la dimensione dei metadata definiti dall'utente è limitata a 2 KB. La dimensione dei metadata definiti dall'utente viene calcolata sommando il numero di byte della codifica UTF-8 di ogni chiave e valore.

Per informazioni sulla modifica dei metadati dell'oggetto dopo il caricamento mediante la creazione di una copia dell'oggetto, la modifica e la sostituzione dell'oggetto precedente o la creazione di una nuova versione, consulta Modifica dei metadati degli oggetti nella console Amazon S3.