Condividi tramite


Denominazione e riferimento a condivisioni, directory, file e metadati

Un account di archiviazione può contenere zero o più condivisioni file di Azure. Una condivisione contiene proprietà, metadati e zero o più file o directory. Una directory contiene proprietà e zero o più file o directory. Un file è una singola entità costituita da dati binari, proprietà e metadati.

Nomi delle risorse

L'URI per fare riferimento a una condivisione, una directory o un file deve essere univoco. All'interno di un determinato account di archiviazione, ogni condivisione deve avere un nome univoco. Ogni file all'interno di una determinata condivisione o directory deve avere anche un nome univoco all'interno di tale condivisione o directory.

Se si tenta di creare una condivisione, una directory o un file con un nome che viola le regole di denominazione, la richiesta non riesce con codice di stato 400 (richiesta non valida).

Condividere i nomi

Le regole per i nomi delle condivisioni di servizi file sono più restrittive di quelle previste dal protocollo SMB per i nomi di condivisione SMB, in modo che i servizi BLOB e file possano condividere convenzioni di denominazione simili per contenitori e condivisioni. Di seguito sono riportate le restrizioni di denominazione per le condivisioni:

  • Un nome di condivisione deve essere un nome DNS valido.
  • I nomi di condivisione devono iniziare 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 delle condivisioni.
  • Tutte le lettere in un nome di condivisione devono essere minuscole.
  • I nomi di condivisione devono avere una lunghezza compreso tra 3 e 63 caratteri.

La tabella seguente confronta le restrizioni di denominazione per File di Azure e Archiviazione BLOB di Azure:

denominazione e riferimento a contenitori, BLOB e metadati restrizioni del nome di condivisione SMB
• Un nome contenitore deve essere un nome DNS valido.
• I nomi dei contenitori devono iniziare 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 essere lunghi da 3 a 63 caratteri.
• Un nome di condivisione non deve contenere più di 80 caratteri.
• I seguenti caratteri non sono validi in un nome di condivisione: \ / [ ] : ¦ < > + = ; , * ? "
• I caratteri di controllo nell'intervallo 0x00 attraverso 0x1F, inclusi, sono illegali in un nome di condivisione.
• Tutti gli altri caratteri Unicode sono legali.
• I nomi non fanno distinzione tra maiuscole e minuscole e non fanno distinzione tra maiuscole e minuscole.

Nomi di directory e file

File di Azure applica le regole di denominazione seguenti per i nomi di directory e file:

  • I nomi di directory e file non fanno distinzione tra maiuscole e minuscole.
  • I nomi dei componenti di directory e file non devono contenere più di 255 caratteri.
  • I nomi delle directory non possono terminare con il carattere barra (/). Se specificato, verrà rimosso automaticamente.
  • I nomi dei file non devono terminare con il carattere barra (/).
  • I caratteri URL riservati devono essere preceduti correttamente da escape.
  • I caratteri seguenti non sono consentiti: " \ / : | < > * ?
  • Non sono consentiti caratteri di percorso URL non validi. I punti di codice come \uE000, mentre sono validi nei nomi file NTFS, non sono caratteri Unicode validi. Inoltre, alcuni caratteri ASCII o Unicode, ad esempio i caratteri di controllo (0x00 a 0x1F), non sono consentiti. Per le regole che regolano le stringhe Unicode in HTTP/1.1, vedere RFC 2616, sezione 2.2: Regole di base e RFC 3987.
  • I caratteri Unicode non validi (detti coppie di surrogati non validi) non sono supportati.
  • I nomi di file seguenti non sono consentiti: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, punto (.) e due caratteri punti (..).
  • A partire dalla versione 2021-12-02, i nomi di directory e file supportano i caratteri U+FFFE e U+FFFF ATTRAVERSO tutte le operazioni. Questi caratteri sono supportati anche tramite protocolli SMB e REST. List Directory and Files e List Handle operazioni richiedono una gestione speciale per questi caratteri, come indicato nella rispettiva documentazione.

Per impostazione predefinita, per le condivisioni file con protocollo SMB abilitato, i caratteri punto (.) alla fine della directory e dei nomi di file negli URL delle richieste vengono ignorati o lasciati fuori.

  • Ad esempio, se viene creato un file denominato file1..., i punti alla fine verranno ignorati e viene creato un file denominato file1. Lo stesso vale per le directory nel percorso. Se una richiesta di creazione di file include il percorso \Dir1\Dir2…\File1, il file verrà creato in \Dir1\Dir2\File1.
  • Tuttavia, a partire dalla versione 2022-11-02, il comportamento predefinito può essere sostituito impostando l'intestazione x-ms-allow-trailing-dot su true nella richiesta URL.
  • Ad esempio, se si vuole creare un file denominato file1... e includere i punti finali, il x-ms-allow-trailing-dot deve essere incluso nell'intestazione della richiesta e impostato su true. Lo stesso vale per la creazione di nomi di directory.
  • In caso di richiesta di copia file, se si desidera includere punti finali nel nome del file di origine, l'intestazione x-ms-source-allow-trailing-dot deve essere impostata su true. Per altre informazioni, vedere le opzioni di intestazione disponibili per ogni singola API REST.

Per impostazione predefinita, per le condivisioni file con protocollo NFS abilitato, i caratteri punto (.) alla fine della directory e dei nomi di file negli URL delle richieste vengono non ignorati.

La tabella seguente confronta le restrizioni di denominazione per File di Azure e Archiviazione BLOB di Azure:

denominazione e riferimento a contenitori, BLOB e metadati restrizioni del nome del protocollo SMB
• Un nome BLOB deve avere una lunghezza di almeno un carattere e non può contenere più di 1.024 caratteri.
• I nomi dei BLOB fanno distinzione tra maiuscole e minuscole.
• I caratteri URL riservati devono essere preceduti correttamente da escape.
• I nomi dei BLOB possono terminare con un delimitatore di directory virtuale, ad esempio una barra (/)
• Non sono consentiti caratteri di percorso URL non validi: i punti di codice come \uE000, mentre sono validi nei nomi file NTFS, non sono caratteri Unicode validi. Inoltre, alcuni caratteri ASCII o Unicode, ad esempio i caratteri di controllo (0x00 a 0x1F), non sono consentiti. Per le regole che regolano le stringhe Unicode in HTTP/1.1, vedere RFC 2616, sezione 2.2: Regole di base e RFC 3987.
• Un nome di percorso non può contenere più di 32.760 caratteri.
• Ogni componente del nome percorso (file/directory) non può contenere più di 255 caratteri.
• Un nome di percorso è composto da uno o più componenti del nome del percorso separati dal carattere barra indietro (\).
• Il nome del percorso mantiene le maiuscole e minuscole e non fa distinzione tra maiuscole e minuscole (due nomi che differiscono solo nel caso non sia consentito).
• Non è possibile avere un percorso di directory identico a quello di un percorso di file.
• I seguenti caratteri non sono validi in un nome di componente: \ / : ¦ < > * ? "
• I caratteri di controllo nell'intervallo 0x00 attraverso 0x1F, inclusi, sono illegali in un nome di condivisione.

Nomi di percorso

Un nome di percorso è composto da uno o più componenti del nome percorso (directory o nome file) separati dal carattere barra (/). Tutti i componenti del nome del percorso diversi dall'ultimo componente nome percorso indicano directory. L'ultimo componente nome percorso indica una directory o un file. Si applicano le regole di denominazione seguenti:

  • Un nome di percorso non può contenere più di 2.048 caratteri. I singoli componenti nel percorso possono essere di lunghezza massima di 255 caratteri.
  • Un nome di percorso è composto da uno o più componenti del nome del percorso separati dal carattere barra (/).
  • La profondità delle sottodirectory nel percorso non può superare i 250.
  • Non è possibile usare lo stesso nome per un file e una directory che condividono la stessa directory padre. Ad esempio, un file e una directory denominati data non possono esistere nello stesso percorso padre.

Nomi di metadati

I metadati per una condivisione o una risorsa file vengono archiviati come coppie nome-valore associate alla risorsa. I nomi dei metadati devono rispettare le regole di denominazione per gli identificatori C# .

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 File di Azure restituisce il codice di stato 400 (richiesta non valida).

Sintassi dell'URI della 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.file.core.windows.net

Per una condivisione, l'URI di base include il nome dell'account e il nome della condivisione:

https://myaccount.file.core.windows.net/myshare

Per una directory, l'URI di base include il nome dell'account, il nome della condivisione e il percorso della directory:

https://myaccount.file.core.windows.net/myshare/myparentdir/mydir

Per un file, l'URI di base include il nome dell'account, il nome della condivisione e il percorso del file:

https://myaccount.file.core.windows.net/myshare/myfile  
https://myaccount.file.core.windows.net/myshare/mydir/myfile  
https://myaccount.file.core.windows.net/myshare/myparentdir/mydir/myfile  

Vedere anche