

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
<a name="object-keys"></a>

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](https://console.aws.amazon.com/s3/home), quando si seleziona un bucket, viene visualizzato un elenco di oggetti presenti nel bucket. Questi nomi sono le *chiavi degli oggetti*.

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’oggetto `Projects.xls` che 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](#object-key-choose).
+ 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](#object-key-guidelines).

**Nota**  
I nomi delle chiavi degli oggetti con il valore `"soap"` non sono supportati per [virtual-hosted-style le richieste](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access). Per i valori dei nomi delle chiavi dell’oggetto in cui viene utilizzato `"soap"`, è necessario utilizzare un [URL in stile percorso](https://docs.aws.amazon.com//AmazonS3/latest/userguide/VirtualHosting.html#path-style-access).

## Scelta dei nomi delle chiavi di oggetti
<a name="object-key-choose"></a>

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](add-object-metadata.md).

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
<a name="object-key-guidelines"></a>

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
<a name="object-key-guidelines-safe-characters"></a>

I seguenti set di caratteri possono essere utilizzati con la massima sicurezza nei nomi delle chiavi:


|  |  | 
| --- |--- |
| Caratteri alfanumerici |    0-9   a-z   A-Z    | 
| Caratteri speciali |    Punto esclamativo (`!`)   Trattino (`-`)   Carattere di sottolineatura (`_`)   Punto (`.`)   Asterisco (`*`)   Virgoletta singola (`'`)   Parentesi aperta (`(`)   Parentesi chiusa (`)`)    | 

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 SDKs   
Esempio:  
`videos/2014/../../video1.wmv` è valido.
`videos/../../video1.wmv` non è valido.
`videos/../../2014/video1.wmv` non è valido.

### Segmenti di percorso relativo con solo punto
<a name="object-key-guidelines-period-only-segments"></a>

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.txt` i 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 esempio `folder/./file.txt` diventa `folder/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
<a name="object-key-guidelines-special-handling"></a>

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
<a name="object-key-guidelines-avoid-characters"></a>

È 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
<a name="object-key-xml-related-constraints"></a>

Come specificato dallo [standard XML sulla end-of-line gestione](https://www.w3.org/TR/REC-xml/#sec-line-ends), tutto il testo XML viene normalizzato in modo tale che i ritorni a riga singola (codice ASCII 13) e i resi a riga singola seguiti da un feed di riga (codice ASCII 10), noti anche come caratteri di nuova riga, vengano sostituiti da un carattere di alimentazione a riga singola. Per garantire l’analisi corretta delle chiavi degli oggetti nelle richieste XML, i ritorni a capo e [altri caratteri speciali devono essere sostituiti con il codice di entità XML equivalente](https://www.w3.org/TR/xml/#syntax) quando vengono inseriti all’interno dei tag XML. 

Di seguito è riportato un elenco di tali caratteri speciali e dei loro codici di entità XML equivalenti:
+ L’apostrofo (`'`) deve essere sostituito con `&apos;`
+ Le virgolette (`"`) devono essere sostituite con `&quot;`
+ La e commerciale (`&`) deve essere sostituita con `&amp;`
+ Il segno minore di (`<`) deve essere sostituito con `&lt;`
+ Il segno maggiore di (`>`) deve essere sostituito con `&gt;`
+ Il ritorno a capo (`\r`) deve essere sostituito con `&#13;` o `&#x0D;`
+ Il carattere di nuova riga (`\n`) deve essere sostituito con `&#10;` o `&#x0A;`

**Example**  
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&#13;carriagereturn</Key>
  </Object>
</Delete>
```

## Ordinamento delle chiavi degli oggetti
<a name="object-key-sort-order"></a>

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`) 