Condividi tramite


Denominazione e riferimento a contenitori, BLOB e metadati

In questo argomento vengono descritti i nomi e i riferimenti a contenitori, BLOB, metadati e snapshot. Un account di archiviazione può contenere zero o più contenitori. Un contenitore contiene proprietà, metadati e zero o più BLOB. Se l'account ha uno spazio dei nomi gerarchico, un contenitore può contenere anche zero o più directory e tali directory possono contenere zero o più BLOB. Un BLOB è una singola entità costituita da dati binari, proprietà e metadati.

Nomi delle risorse

L'URI per fare riferimento a un contenitore o a un BLOB deve essere univoco. Poiché ogni nome di account è univoco, due account possono avere contenitori con lo stesso nome. Tuttavia, all'interno di un determinato account di archiviazione, ogni contenitore deve avere un nome univoco. Ogni BLOB all'interno di un determinato contenitore deve avere anche un nome univoco all'interno di tale contenitore.

Se si tenta di creare un contenitore o un BLOB con un nome che viola le regole di denominazione, la richiesta avrà esito negativo con codice di stato 400 (richiesta non valida).

I nomi di BLOB e contenitori vengono passati al servizio BLOB all'interno di un URL. Alcuni caratteri devono essere codificati in percentuale per essere visualizzati in un URL, usando UTF-8 (preferito) o MBCS. Questa codifica si verifica automaticamente quando si usano le librerie client di Archiviazione di Azure. Tuttavia, alcuni caratteri non sono validi nei percorsi URL anche se codificati. Se questi caratteri vengono visualizzati nei nomi di BLOB o contenitori, la richiesta potrebbe non riuscire. Per un elenco di questi caratteri, vedere caratteri Unicode non consigliati per l'uso nei nomi di contenitori o BLOB.

I punti di codice come \uE000, mentre sono validi nei nomi file NTFS, non sono caratteri Unicode validi, pertanto non possono essere usati. Inoltre, alcuni caratteri ASCII o Unicode, come i caratteri di controllo (0x00 a 0x1F, \u0081e così via), non sono consentiti.

Per altre regole che regolano le stringhe Unicode in HTTP/1.1, vedere RFC 2616, sezione 2.2: Regole di base e RFC 3987.

Nomi dei contenitori

Un nome contenitore deve essere un nome DNS valido, conforme alle regole di denominazione seguenti:

  • I nomi dei contenitori devono iniziare o terminare con una lettera o un numero e possono contenere solo lettere, numeri e il trattino/meno (-).

  • Ogni trattino/meno (-) deve essere immediatamente preceduto e seguito da una lettera o da un numero; i trattini consecutivi non sono consentiti nei nomi dei contenitori.

  • Tutte le lettere in un nome contenitore devono essere minuscole.

  • I nomi dei contenitori devono avere una lunghezza da 3 a 63 caratteri.

Nomi di directory

Se l'account ha uno spazio dei nomi gerarchico, un nome di directory deve essere conforme alle regole di denominazione seguenti:

  • Un nome di directory può contenere qualsiasi combinazione di caratteri.

  • Un nome di directory deve avere una lunghezza di almeno un carattere e non può contenere più di 1.024 caratteri.

  • I nomi delle directory fanno distinzione tra maiuscole e minuscole.

  • I caratteri URL riservati devono essere preceduti correttamente da escape.

Nota

Evitare nomi di directory che terminano con un punto (.), una barra (/), una barra rovesciata (\) o una sequenza o una combinazione dei due. Nessun segmento di percorso deve terminare con un punto (.).

Screenshot della barra rovesciata non consentita.

Nomi DI BLOB

Un nome BLOB deve essere conforme alle regole di denominazione seguenti. Queste regole si applicano anche ai BLOB negli account con uno spazio dei nomi gerarchico, a meno che non diversamente specificato.

  • Un nome BLOB può contenere qualsiasi combinazione di caratteri.

  • Un nome BLOB deve avere una lunghezza di almeno un carattere e non può contenere più di 1.024 caratteri per i BLOB in Archiviazione di Azure.

    L'emulatore di Archiviazione di Azure supporta nomi BLOB con lunghezza fino a 256 caratteri. Per altre informazioni, vedere Usare l'emulatore di archiviazione di Azure per lo sviluppo e il test.

  • I nomi dei BLOB fanno distinzione tra maiuscole e minuscole.

  • I caratteri URL riservati devono essere preceduti correttamente da escape.

  • Esistono limitazioni per il numero di segmenti di percorso che comprendono un nome BLOB. Un segmento di percorso è la stringa tra caratteri delimitatori consecutivi (ad esempio, una barra /) che corrisponde alla directory o alla directory virtuale. Le limitazioni del segmento di percorso seguenti si applicano ai nomi dei BLOB:

    • Se l'account di archiviazione non lo spazio dei nomi gerarchico è abilitato, il numero di segmenti di percorso che comprendono il nome del BLOB non può superare 254.
    • Se lo spazio dei nomi gerarchico dell'account di archiviazione è abilitato, il numero di segmenti di percorso che comprendono il nome del BLOB non può superare 63 (inclusi i segmenti di percorso per il nome dell'account e il nome del contenitore).

Nota

Evitare nomi BLOB che terminano con un punto (.), una barra (/), una barra rovesciata (\) o una sequenza o una combinazione dei due. Nessun segmento di percorso deve terminare con un punto (.).

Screenshot della barra non consentita.

Per impostazione predefinita, il servizio BLOB si basa su uno schema di archiviazione flat, non su uno schema gerarchico. Tuttavia, è possibile specificare un delimitatore di caratteri o stringhe all'interno di un nome BLOB per creare una gerarchia virtuale. L'elenco seguente, ad esempio, mostra nomi di BLOB validi e univoci. Si noti che una stringa può essere valida sia come nome di BLOB che come nome di directory virtuale nello stesso contenitore:

  • /un

  • /a.txt

  • /a/b

  • /a/b.txt

È possibile sfruttare il carattere delimitatore durante l'enumerazione dei BLOB.

Nomi di chiave e valore dei metadati

I metadati per un contenitore o una risorsa BLOB vengono archiviati come coppie nome-valore associate alla risorsa. I nomi delle chiavi di metadati devono rispettare le regole di denominazione seguenti:

  • Deve iniziare con una lettera o un carattere di sottolineatura

  • I caratteri seguenti possono essere lettere, numeri o caratteri di sottolineatura

  • Il nome della chiave di metadati deve essere ASCII valido

I nomi dei valori dei metadati devono anche essere ASCII validi. Si noti che i nomi dei metadati mantengono il caso con cui sono stati creati, ma non fanno distinzione tra maiuscole e minuscole quando vengono impostati o letti. Se due o più intestazioni di metadati con lo stesso nome vengono inviate per una risorsa, il servizio BLOB restituisce il codice di stato 400 (richiesta non valida).

Sintassi URI risorsa

Ogni risorsa ha un URI di base corrispondente, che fa riferimento alla risorsa stessa.

Per l'account di archiviazione, l'URI di base include solo il nome dell'account:

https://myaccount.blob.core.windows.net

Per un contenitore, l'URI di base include il nome dell'account e il nome del contenitore:

https://myaccount.blob.core.windows.net/mycontainer

Per un BLOB, l'URI di base include il nome dell'account, il nome del contenitore e il nome del BLOB:

https://myaccount.blob.core.windows.net/mycontainer/myblob

Un account di archiviazione può avere un contenitore radice, un contenitore predefinito che può essere omesso dall'URI. È possibile fare riferimento a un BLOB nel contenitore radice senza denominare il contenitore oppure fare riferimento in modo esplicito al contenitore radice in base al nome ($root). Per altre informazioni, vedere Uso del contenitore radice. Gli URI seguenti fanno entrambi riferimento a un BLOB nel contenitore radice:

https://myaccount.blob.core.windows.net/myblob  
https://myaccount.blob.core.windows.net/$root/myblob  

Snapshot blob

Uno snapshot è una versione di sola lettura di un BLOB archiviato al momento della creazione dello snapshot. È possibile usare gli snapshot per creare un backup o un checkpoint di un BLOB. Un nome BLOB di snapshot include l'URI del BLOB di base più un valore di data e ora che indica quando è stato creato lo snapshot.

Si supponga, ad esempio, che un BLOB abbia l'URI seguente:

https://myaccount.blob.core.windows.net/mycontainer/myblob

L'URI per uno snapshot del BLOB è formato come segue:

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Nella tabella seguente è riportato un elenco di caratteri Unicode non consigliati per l'uso nei nomi di contenitori o BLOB. Questi caratteri, se usati in combinazione con altri caratteri in questo elenco, potrebbero non riuscire la decodifica UTF-8 o MBCS, causando un errore della richiesta al servizio BLOB.

Carattere Unicode
U+0080
U+0082
U+0083
U+0084
U+0085
U+0086
U+0087
U+0088
U+0089
U+008A
U+008B
U+008C
U+008E
U+0091
U+0092
U+0093
U+0094
U+0095
U+0096
U+0097
U+0098
U+0099
U+009A
U+009B
U+009C
U+009E
U+009F
U+FDD1
U+FDD2
U+FDD3
U+FDD4
U+FDD5
U+FDD6
U+FDD7
U+FDD8
U+FDD9
U+FDDA
U+FDDB
U+FDDC
U+FDDE
U+FDDF
U+FDE0
U+FDE1
U+FDE2
U+FDE3
U+FDE4
U+FDE5
U+FDE6
U+FDE7
U+FDE8
U+FDE9
U+FDEA
U+FDEB
U+FDEC
U+FDED
U+FDE
U+FDEF
U+FFF0
U+FFF1
U+FFF2
U+FFF3
U+FFF4
U+FFF5
U+FFF6
U+FFF7
U+FFF8
U+FFF9
U+FFFA
U+FFFB
U+FFFC
U+FFFD
U+FFFE
U+FFFF
U+1FFFE
U+1FFFF
U+2FFFE
U+2FFFF
U+3FFFE
U+3FFFF
U+5FFFE
U+5FFFF
U+6FFFE
U+6FFFF
U+7FFFE
U+7FFFF
U+9FFFE
U+9FFFF
U+AFFFE
U+AFFFF
U+BFFFE
U+BFFFF
U+DFFFE
U+DFFFF
U+EFFFE
U+EFFFF
U+FFFFE
U+FFFFF

Vedere anche