Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Denominazione di oggetti Amazon S3
La chiave oggetto (o nome di chiave) identifica l'oggetto in modo univoco in un bucket Amazon S3. Quando si crea un oggetto, si specifica il nome della chiave. Ad esempio, nella console Amazon S3
Il nome della chiave dell’oggetto è costituito da una sequenza di caratteri Unicode in codifica UTF-8, con una lunghezza massima di 1.024 byte o circa 1.024 caratteri latini. In alcune lingue, un singolo carattere può richiedere 2 byte per la codifica. Quando si assegna un nome agli oggetti, occorre tenere presente quanto segue:
-
I nomi delle chiavi degli oggetti fanno distinzione tra maiuscole e minuscole.
-
I nomi delle chiavi dell’oggetto includono i prefissi (denominati come cartelle nella console). Ad esempio,
Development/Projects.xlsè il nome completo della chiave dell’oggettoProjects.xlsche si trova all’interno del prefisso (o cartella)Development. Il prefisso, il delimitatore (/) e il nome dell’oggetto sono inclusi nel limite di 1.024 byte per il nome della chiave dell’oggetto. Per ulteriori informazioni su prefissi e cartelle, consultare Scelta dei nomi delle chiavi di oggetti. -
Alcuni caratteri potrebbero richiedere una gestione speciale quando vengono utilizzati nei nomi delle chiavi degli oggetti. Per ulteriori informazioni, consulta Linee guida per la denominazione delle chiavi degli oggetti.
Nota
I nomi delle chiavi degli oggetti con il valore "soap" non sono supportati per virtual-hosted-style le richieste. Per i valori dei nomi delle chiavi dell’oggetto in cui viene utilizzato "soap", è necessario utilizzare un URL in stile percorso.
Scelta dei nomi delle chiavi di oggetti
Il modello di dati di Amazon S3 è una struttura flat: crei un bucket e il bucket archivia gli oggetti. Non c'è nessuna gerarchia di bucket secondari o sottocartelle. Tuttavia, è possibile applicare una gerarchia logica utilizzando delimitatori e prefissi di nomi di chiavi come avviene nella console di Amazon S3. La console di Amazon S3 supporta il concetto di cartella. Per ulteriori informazioni su come modificare i metadati dalla console di Amazon S3, consulta Modifica dei metadati degli oggetti nella console di Amazon S3.
Supponiamo che il bucket (admin-created) contenga quattro oggetti con le seguenti chiavi:
Development/Projects.xls
Finance/statement1.pdf
Private/taxdocument.pdf
s3-dg.pdf
La console utilizza i prefissi dei nomi di chiavi (Development/, Finance/ e Private/) e il delimitatore (/) per visualizzare una struttura di cartelle. Poiché la chiave s3-dg.pdf non include un prefisso delimitato da barra, i relativi oggetti vengono visualizzati direttamente a livello root del bucket. Se si apre la cartella Development/, viene visualizzato l'oggetto Projects.xlsx in essa contenuto.
Amazon S3 supporta i bucket e gli oggetti e non sono presenti gerarchie. Tuttavia, utilizzando prefissi e delimitatori in un nome chiave di oggetto, la console Amazon S3 e la console AWS SDKs possono dedurre la gerarchia e introdurre il concetto di cartelle.
La console di Amazon S3 implementa la creazione di oggetti cartella creando un oggetto a byte zero con il prefisso di cartella e il valore di delimitatore come chiave. Questi oggetti cartella non vengono visualizzati nella console. Altrimenti si comportano come qualsiasi altro oggetto e possono essere visualizzati e manipolati tramite l'API REST, la AWS CLI e. AWS SDKs
Linee guida per la denominazione delle chiavi degli oggetti
Puoi utilizzare qualsiasi carattere UTF-8 all'interno del nome di un oggetto. Tuttavia, utilizzare alcuni caratteri nei nomi delle chiavi può causare problematiche con alcuni protocolli e applicazioni. Le seguenti linee guida consentono di massimizzare la conformità con DNS, caratteri sicuri per il Web, parser XML e altro. APIs
Caratteri sicuri
I seguenti set di caratteri possono essere utilizzati con la massima sicurezza nei nomi delle chiavi:
| Caratteri alfanumerici |
|
| Caratteri speciali |
|
Di seguito sono riportati esempi di nomi di chiavi validi per gli oggetti:
-
4my-organization -
my.great_photos-2014/jan/myvacation.jpg -
videos/2014/birthday/video1.wmv
Nota
Se utilizzi la console di Amazon S3 per scaricare un oggetto il cui nome della chiave termina con un punto (.), il punto viene rimosso dal nome della chiave dell’oggetto scaricato. Per conservare i periodi alla fine dei nomi delle chiavi negli oggetti scaricati, devi utilizzare AWS Command Line Interface (AWS CLI) o l'API AWS SDKs REST di Amazon S3.
Inoltre, tieni a mente le seguenti limitazioni sui prefissi:
-
Gli oggetti con un prefisso di
./devono essere caricati o scaricati con l'API AWS CLI AWS SDKs, o REST. Non è possibile utilizzare la console Amazon S3 per caricare questi oggetti. -
Le chiavi oggetto che contengono elementi di percorso relativi (ad esempio,
../) sono valide se, una volta analizzate left-to-right, il conteggio cumulativo dei segmenti di percorso relativi non supera mai il numero di elementi di percorso non relativi rilevati. Questa regola si applica a tutte le richieste effettuate utilizzando la console Amazon S3, l'API REST AWS CLI di Amazon S3 e. AWS SDKsEsempio:
videos/2014/../../video1.wmvè valido.videos/../../video1.wmvnon è valido.videos/../../2014/video1.wmvnon è valido.
Segmenti di percorso relativo con solo punto
Le chiavi degli oggetti contenenti segmenti di percorso (.o..) solo relativi al periodo possono causare un comportamento imprevisto se elaborate da applicazioni o strumenti che li interpretano come riferimenti di percorsi relativi. SDKs
I seguenti modelli possono causare problemi:
-
folder/./file.txt: contiene il riferimento alla directory corrente -
folder/../file.txt: contiene il riferimento alla directory principale -
./file.txt: inizia con il riferimento alla directory corrente -
../file.txt: inizia con il riferimento alla directory principale
I seguenti modelli funzionano normalmente:
-
folder/.hidden/file.txt: il punto fa parte del nome del file, non è standalone -
folder/..backup/file.txti punti fanno parte del nome del file, non sono standalone
Quando le applicazioni elaborano le chiavi degli oggetti con segmenti con solo punto, possono verificarsi i seguenti impatti sul comportamento:
-
Normalizzazione del percorso: molti sistemi risolvono i riferimenti
.e..automaticamente, modificando potenzialmente il percorso effettivo (ad esempiofolder/./file.txtdiventafolder/file.txt). -
Problemi di accesso: le applicazioni potrebbero non riuscire a individuare gli oggetti a causa delle differenze di risoluzione dei percorsi.
-
Comportamento incoerente: strumenti diversi SDKs potrebbero gestire questi modelli in modo diverso
Importante
Per evitare questi problemi, è consigliabile non utilizzare segmenti di percorso con solo punto nei nomi delle chiavi dell’oggetto. È possibile utilizzare convenzioni di denominazione alternative per scopi organizzativi.
Caratteri che potrebbero richiedere una gestione speciale
I seguenti caratteri in un nome di chiave potrebbero richiedere ulteriori operazioni di gestione del codice e molto probabilmente dovranno essere codificati tramite URL o vi si dovrà fare riferimento come HEX. Alcuni di essi sono caratteri non stampabili ed è possibile che non vengano gestiti dal browser in uso; per tale motivo, richiedono una gestione speciale:
-
E commerciale ()
& -
Simbolo del dollaro (
$) -
I caratteri ASCII sono compresi tra 00-1F hex (0-31 decimale) e 7F (127 decimale)
-
Simbolo at (
@) -
Segno uguale (
=) -
Punto e virgola ()
; -
Barra obliqua (
/) -
Due punti ()
: -
Segno più (
+) -
Spazio - È possibile che in alcuni casi vadano perse sequenze significative di spazi (in particolare, gli spazi multipli)
-
Virgola (
,) -
Punto interrogativo (
?)
Caratteri da evitare
È consigliabile non utilizzare i seguenti caratteri nel nome di una chiave a causa della gestione significativa dei caratteri speciali, che non è coerente in tutte le applicazioni:
-
Barra rovesciata ()
\ -
Parentesi graffa di sinistra (
{) -
Caratteri ASCII non stampabili (caratteri decimali da 128 a 255)
-
Accento circonflesso (
^) -
Parentesi graffa di destra (
}) -
Carattere percentuale ()
% -
Accento grave o apice inverso (
`) -
Parentesi quadra di destra (
]) -
Virgolette (
") -
Segno maggiore di (
>) -
Parentesi quadra di sinistra (
[) -
Tilde ()
~ -
Segno minore di (
<) -
Simbolo di numero (
#) -
Barra verticale (
|)
Vincoli della chiave dell’oggetto correlati a XML
Come specificato dallo standard XML sulla end-of-line gestione
Di seguito è riportato un elenco di tali caratteri speciali e dei loro codici di entità XML equivalenti:
L’apostrofo (
') deve essere sostituito con'Le virgolette (
") devono essere sostituite con"La e commerciale (
&) deve essere sostituita con&Il segno minore di (
<) deve essere sostituito con<Il segno maggiore di (
>) deve essere sostituito con>Il ritorno a capo (
\r) deve essere sostituito con o
Il carattere di nuova riga (
\n) deve essere sostituito con o

Esempio
Nell'esempio seguente viene illustrato l'utilizzo di un codice di entità XML come sostituzione di un ritorno a capo. Questa richiesta DeleteObjects elimina un oggetto con il parametro key /some/prefix/objectwith\rcarriagereturn (dove \r è il ritorno a capo).
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith carriagereturn</Key> </Object> </Delete>
Ordinamento delle chiavi degli oggetti
Amazon S3 dispone le chiavi degli oggetti, compresi i prefissi, in ordine lessicografico in base ai valori di byte con codifica UTF-8.
I caratteri ASCII vengono disposti nel seguente ordine:
-
Caratteri speciali (ad esempio
!,/) -
Lettere maiuscole (A–Z)
-
Lettere minuscole (a–z)
Caratteri non ASCII (ad esempio é, 中 文) sono codificati come sequenze UTF-8 multi-byte e in genere vengono ordinati in base ai caratteri ASCII a causa dei loro valori di byte elevati (ad esempio 0xC3 per é, 0xE4 per 中).
Ad esempio, i prefissi apple/, Apple/, éclair/, 中 文/ vengono ordinati come segue:
1. Apple/ (inizia con 0x41)
2. apple/ (inizia con 0x61)
3. éclair/ (inizia con 0xC3 0xA9)
4. 中 文/ (inizia con 0xE4 0xB8 0xAD 0xE6 0x96 0x87)