Asignar nombres y hacer referencia a recursos compartidos, directorios, archivos y metadatos

Una cuenta de almacenamiento puede contener cero o más recursos compartidos de archivos de Azure. Un recurso compartido contiene propiedades, metadatos y cero o más archivos o directorios. Un directorio contiene propiedades y cero o más archivos o directorios. Un archivo es cualquier entidad única compuesta por datos binarios, propiedades y metadatos.

Nombres de recurso

El URI para hacer referencia a un recurso compartido, directorio o archivo debe ser único. En una cuenta de almacenamiento concreta, cada recurso compartido debe tener un nombre único. Todos los archivos de un determinado recurso compartido o directorio también deben tener un nombre único dentro de ese recurso compartido o directorio.

Si intenta crear un recurso compartido, directorio o archivo con un nombre que infrinja las reglas de nomenclatura, la solicitud producirá un error con el código de estado 400 (solicitud incorrecta).

Nombres de recurso compartido

Las reglas para los nombres de recursos compartido de archivos servicio son más restrictivas de lo prescrito por el protocolo SMB para nombres de recursos compartidos de archivos SMB, para que los servicios Blob y Archivo puedan compartir convenciones de nomenclatura similares para los contenedores y los recursos compartidos. Las restricciones de nomenclatura para los recursos compartidos son:

  • El nombre del recurso compartido debe ser un nombre DNS válido.
  • Los nombres compartidos deben comenzar con una letra o un número, y solo pueden contener letras, números y el carácter de guion/menos (-).
  • Cada carácter de guion/menos (-) debe ir inmediatamente precedido y seguido de una letra o un número; No se permiten guiones consecutivos en nombres de recurso compartido.
  • Todas las letras de un nombre de recurso compartido deben ser minúsculas.
  • Los nombres de recursos compartidos deben tener entre 3 y 63 caracteres.

En la tabla siguiente se comparan las restricciones de nomenclatura de Azure Files y Azure Blob Storage:

Asignar nombres y hacer referencia a contenedores, blobs y metadatos Restricciones de nombre de recurso compartido de SMB
• Un nombre de contenedor debe ser un nombre DNS válido.
• Los nombres de contenedor deben comenzar con una letra o un número, y solo pueden contener letras, números y el carácter de guion/menos (-).
• Cada carácter de guion/menos (-) debe ir inmediatamente precedido y seguido de una letra o un número; No se permiten guiones consecutivos en los nombres de contenedor.
• Todas las letras de un nombre de contenedor deben estar en minúsculas.
• Los nombres de contenedor deben tener entre 3 y 63 caracteres.
• Un nombre de recurso compartido no debe tener más de 80 caracteres de longitud.
• Los siguientes caracteres son ilegales en un nombre de recurso compartido: \ / [ ] : ¦ < > + = ; , * ? "
• Los caracteres de control en el intervalo 0x00 a través de 0x1F, inclusive, son ilegales en un nombre de recurso compartido.
• Todos los demás caracteres Unicode son legales.
• Los nombres conservan mayúsculas de minúsculas y distinguen mayúsculas de minúsculas.

Nombres de archivos y directorios

Azure Files aplica las siguientes reglas de nomenclatura para los nombres de directorio y archivo:

  • Los nombres de archivo y directorio conservan las mayúsculas y minúsculas y no distinguen entre ellas.
  • Los nombres de componente de archivo y directorio no pueden tener más de 255 caracteres de longitud.
  • Los nombres de directorio no pueden terminar con el carácter de barra diagonal (/). Si se proporciona, se quitará automáticamente.
  • Los nombres de archivo no deben terminar con el carácter de barra diagonal (/).
  • Los caracteres de URL reservadas deben convertirse correspondientemente.
  • No se permiten los caracteres siguientes: " \ / : | < > * ?
  • No se permiten caracteres no válidos en la ruta de acceso de la dirección URL. Los puntos de código como \uE000, mientras que son válidos en los nombres de archivo NTFS, no son caracteres Unicode válidos. Además, no se permiten algunos caracteres ASCII o Unicode, como los caracteres de control (0x00 a 0x1F). Para conocer las reglas que rigen las cadenas Unicode en HTTP/1.1, consulte RFC 2616, sección 2.2: Reglas básicas y RFC 3987.
  • No se admiten caracteres Unicode no válidos (denominados pares suplentes no válidos).
  • No se permiten los siguientes nombres de archivo: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, dot character (.) y dos caracteres de punto (.).).
  • A partir de la versión 2021-12-02, los nombres de directorio y archivo admiten caracteres U+FFFE y U+FFFF a través de todas las operaciones. Estos caracteres también se admiten a través de protocolos SMB y REST. Las operaciones List Directory y Files andList Handles necesitarán un control especial para estos caracteres, como se mencionó en su documentación respectiva.

De forma predeterminada, los caracteres de punto (.) al final del directorio y los nombres de archivo de las direcciones URL de solicitud se omiten o se dejan fuera.

  • Por ejemplo, si se crea un archivo denominado file1... , se omitirán los puntos al final y se creará un archivo denominado file1 . Lo mismo se aplica a los directorios de la ruta de acceso. Si una solicitud de creación de archivos incluye la ruta \Dir1\Dir2…\File1 de acceso, el archivo se creará en \Dir1\Dir2\File1.
  • Sin embargo, a partir de la versión 2022-11-02, el comportamiento predeterminado se puede invalidar estableciendo el encabezado x-ms-allow-trailing-dottrue en en la solicitud de dirección URL.
  • Por ejemplo, si desea crear un archivo denominado file1... e incluir los puntos finales, x-ms-allow-trailing-dot debe incluirse en el encabezado de solicitud y establecer en .true Lo mismo se aplica para crear nombres de directorio.
  • En el caso de una solicitud de copia de archivos, si desea incluir puntos finales en el nombre del archivo de origen, el x-ms-source-allow-trailing-dot encabezado debe establecerse trueen . Para obtener más información, consulte las opciones de encabezado disponibles para cada API REST individual.

En la tabla siguiente se comparan las restricciones de nomenclatura de Azure Files y Azure Blob Storage:

Asignar nombres y hacer referencia a contenedores, blobs y metadatos Restricciones de nombres de protocolo SMB
• Un nombre de blob debe tener al menos un carácter largo y no puede tener más de 1024 caracteres.
• Los nombres de blobs distinguen mayúsculas de minúsculas.
• Los caracteres de dirección URL reservados deben ser de escape correctos.
• Los nombres de blobs pueden terminar con un delimitador de directorio virtual, como una barra diagonal (/)
• No se permiten caracteres de ruta de acceso URL no válidos: puntos de código como \uE000, mientras que válidos en nombres de archivo NTFS, no son caracteres Unicode válidos. Además, no se permiten algunos caracteres ASCII o Unicode, como los caracteres de control (0x00 a 0x1F). Para conocer las reglas que rigen las cadenas Unicode en HTTP/1.1, consulte RFC 2616, sección 2.2: Reglas básicas y RFC 3987.
• Un nombre de ruta de acceso no puede tener más de 32 760 caracteres de longitud.
• Cada componente de nombre de ruta de acceso (archivo o directorio) puede tener más de 255 caracteres de longitud.
• Un nombre de ruta de acceso se compone de uno o varios componentes de nombre de ruta separados por el carácter de barra diagonal hacia atrás (\).
• El nombre de la ruta de acceso distingue mayúsculas de minúsculas y distingue mayúsculas de minúsculas (no se permiten dos nombres que solo difieren en el caso).
• No se puede tener una ruta de acceso de directorio que sea la misma que una ruta de acceso de archivo.
• Los siguientes caracteres son ilegales en un nombre de componente: \ / : ¦ < > * ? "
• Los caracteres de control en el intervalo 0x00 a través de 0x1F, inclusive, son ilegales en un nombre de recurso compartido.

Nombres de ruta de acceso

Un nombre de ruta de acceso se compone de uno o varios componentes de nombre de ruta de acceso (directorio o nombre de archivo) separados por el carácter de barra diagonal (/). Todos los componentes de nombre de ruta de acceso distintos del componente de nombre de la ruta de acceso indican directorios. El último componente del nombre de ruta de acceso representa un directorio o un archivo. Se aplican las reglas de nomenclatura siguientes:

  • Un nombre de ruta de acceso no puede tener más de 2048 caracteres de longitud. Los componentes individuales de la ruta de acceso pueden tener un máximo de 255 caracteres de longitud.
  • Un nombre de ruta de acceso se compone de uno o varios componentes de nombre de ruta de acceso separados por el carácter de barra diagonal (/).
  • La profundidad de los subdirectorios de la ruta de acceso no puede superar los 250.
  • No se puede usar el mismo nombre para un archivo y un directorio que comparta el mismo directorio primario. Por ejemplo, un archivo y un directorio con nombre data no pueden existir en la misma ruta de acceso primaria.

Nombres de metadatos

Los metadatos de un recurso compartido o un recurso de archivos se almacenan como pares de valor con nombre asociados al recurso. Los nombres de metadatos deben cumplir las reglas de nomenclatura de los identificadores de C#.

Tenga en cuenta que los nombres de los metadatos conservan las mayúsculas y minúsculas iniciales, pero no distinguen entre mayúsculas y minúsculas cuando se establecen o se leen. Si se envían dos o más encabezados de metadatos con el mismo nombre para un recurso, el servicio Archivo de Azure devuelve el código de estado 400 (solicitud incorrecta).

Sintaxis de URI de recursos

Cada recurso tiene un URI base que le corresponde, el cual hace referencia al recurso en sí. En lo que respecta a la cuenta de almacenamiento, el URI base incluye solamente el nombre de la cuenta:

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

Para un recurso compartido, el URI base incluye el nombre de la cuenta y el nombre del recurso compartido:

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

Para un directorio, el URI base incluye el nombre de la cuenta, el nombre del recurso compartido y la ruta de acceso del directorio:

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

Para un archivo, el URI base incluye el nombre de la cuenta, el nombre del recurso compartido y la ruta de acceso del archivo:

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  

Consulte también