Nomenclatura y referencia de contenedores, blobs y metadatos
En este tema se describe la nomenclatura y la referencia a contenedores, blobs, metadatos e instantáneas. Una cuenta de almacenamiento puede contener cero o más contenedores. Un contenedor contiene propiedades, metadatos y cero o más blobs. Si la cuenta tiene un espacio de nombres jerárquico, un contenedor también puede contener cero o más directorios y esos directorios pueden contener cero o más blobs. Un blob es cualquier entidad única formada por datos binarios, propiedades y metadatos.
Nombres de recursos
El URI para hacer referencia a un contenedor o un blob debe ser único. Dado que cada nombre de cuenta es único, dos cuentas pueden tener contenedores con el mismo nombre. Sin embargo, dentro de una cuenta de almacenamiento determinada, cada contenedor debe tener un nombre único. Cada blob dentro de un contenedor determinado también debe tener un nombre único dentro de ese contenedor.
Si intenta crear un contenedor o un blob con un nombre que infringe las reglas de nomenclatura, se producirá un error en la solicitud con el código de estado 400 (solicitud incorrecta).
Los nombres de blob y contenedor se pasan al servicio Blob dentro de una dirección URL. Algunos caracteres deben estar codificados por porcentaje para que aparezcan en una dirección URL, mediante UTF-8 (preferido) o MBCS. Esta codificación se produce automáticamente cuando se usan las bibliotecas cliente de Azure Storage. Sin embargo, hay determinados caracteres que no son válidos en las rutas de acceso de dirección URL incluso cuando están codificados. Si estos caracteres aparecen en nombres de blob o contenedor, es posible que se produzca un error en la solicitud. Para obtener una lista de estos caracteres, consulte caracteres Unicode no recomendados para su uso en nombres de contenedor o blob.
Los puntos de código como \uE000, mientras que válidos en nombres de archivo NTFS, no son caracteres Unicode válidos, por lo que no se pueden usar. Además, algunos caracteres ASCII o Unicode, como los caracteres de control (0x00 a 0x1F, \u0081, etc.), tampoco se permiten.
Para obtener reglas adicionales que rigen las cadenas Unicode en HTTP/1.1, consulte RFC 2616, Sección 2.2: Reglas básicas y RFC 3987.
Nombres de contenedor
Un nombre de contenedor debe ser un nombre DNS válido, conforme a las siguientes reglas de nomenclatura:
Los nombres de contenedor deben comenzar o terminar con una letra o número, y solo pueden contener letras, números y el carácter de guion/menos (-).
Cada carácter de guion/menos (-) debe ir precedido inmediatamente y seguido de una letra o número; Los guiones consecutivos no se permiten 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.
Nombres de directorio
Si la cuenta tiene un espacio de nombres jerárquico, un nombre de directorio debe cumplir las siguientes reglas de nomenclatura:
Un nombre de directorio puede contener cualquier combinación de caracteres.
Un nombre de directorio debe tener al menos un carácter largo y no puede tener más de 1024 caracteres.
Los nombres de directorio distinguen mayúsculas de minúsculas.
Los caracteres de dirección URL reservada deben tener un escape correcto.
Nota
Evite los nombres de directorio que terminan con un punto (.), una barra diagonal (/), una barra diagonal inversa (\) o una secuencia o combinación de los dos. Ningún segmento de ruta de acceso debe terminar con un punto (.).
Nombres de blobs
Un nombre de blob debe cumplir las siguientes reglas de nomenclatura. Estas reglas también se aplican a los blobs de las cuentas que tienen un espacio de nombres jerárquico, a menos que se indique lo contrario.
Un nombre de blob puede contener cualquier combinación de caracteres.
Un nombre de blob debe tener al menos un carácter largo y no puede tener más de 1024 caracteres, para blobs en Azure Storage.
El emulador de Azure Storage admite nombres de blob de hasta 256 caracteres de longitud. Para más información, consulte Uso del emulador de Azure Storage para desarrollo y pruebas.
Los nombres de blobs distinguen mayúsculas de minúsculas.
Los caracteres de dirección URL reservada deben tener un escape correcto.
Hay limitaciones en el número de segmentos de ruta de acceso que componen un nombre de blob. Un segmento de ruta de acceso es la cadena entre caracteres delimitadores consecutivos (por ejemplo, una barra diagonal
/
) que corresponde al directorio o al directorio virtual. Las siguientes limitaciones de segmento de ruta de acceso se aplican a los nombres de blobs:- Si la cuenta de almacenamiento no tiene habilitado el espacio de nombres jerárquico, el número de segmentos de ruta de acceso que componen el nombre del blob no puede superar los 254.
- Si la cuenta de almacenamiento tiene habilitado el espacio de nombres jerárquico, el número de segmentos de ruta de acceso que componen el nombre del blob no puede superar los 63 (incluidos los segmentos de ruta de acceso para el nombre de cuenta y el nombre del contenedor).
Nota
Evite los nombres de blobs que terminan con un punto (.), una barra diagonal (/), una barra diagonal inversa (\) o una secuencia o combinación de los dos. Ningún segmento de ruta de acceso debe terminar con un punto (.).
De forma predeterminada, Blob service se basa en un esquema de almacenamiento plano, no en un esquema jerárquico. Sin embargo, puede especificar un delimitador de caracteres o cadenas dentro de un nombre de blob para crear una jerarquía virtual. Por ejemplo, en la lista siguiente se muestran nombres de blobs válidos y únicos. Tenga en cuenta que una cadena puede ser válida como un nombre de blob y como un nombre de directorio virtual en el mismo contenedor:
/un
/a.txt
/a/b
/a/b.txt
Puede aprovechar el carácter delimitador al enumerar blobs.
Nombres de clave y valor de metadatos
Los metadatos de un recurso de contenedor o blob se almacenan como pares nombre-valor asociados al recurso. Los nombres de clave de metadatos deben cumplir las siguientes reglas de nomenclatura:
Debe comenzar con una letra o un carácter de subrayado.
Los caracteres siguientes pueden ser letras, números o caracteres de subrayado
El nombre de clave de metadatos debe ser ASCII válido
Los nombres de valores de metadatos también deben ser ASCII válidos. Tenga en cuenta que los nombres de metadatos conservan el caso con el que se crearon, pero no distinguen mayúsculas de minúsculas cuando se establecen o leen. Si se envían dos o más encabezados de metadatos con el mismo nombre para un recurso, Blob service devuelve el código de estado 400 (solicitud incorrecta).
Sintaxis de URI de recursos
Cada recurso tiene un URI base correspondiente, que hace referencia al propio recurso.
Para la cuenta de almacenamiento, el URI base solo incluye el nombre de la cuenta:
https://myaccount.blob.core.windows.net
Para un contenedor, el URI base incluye el nombre de la cuenta y el nombre del contenedor:
https://myaccount.blob.core.windows.net/mycontainer
Para un blob, el URI base incluye el nombre de la cuenta, el nombre del contenedor y el nombre del blob:
https://myaccount.blob.core.windows.net/mycontainer/myblob
Una cuenta de almacenamiento puede tener un contenedor raíz, un contenedor predeterminado que se puede omitir del URI. Se puede hacer referencia a un blob en el contenedor raíz sin asignar nombres al contenedor o el contenedor raíz se puede hacer referencia explícitamente por su nombre ($root
). Consulte Trabajar con el contenedor raíz para obtener más información. Los siguientes URI hacen referencia a un blob en el contenedor raíz:
https://myaccount.blob.core.windows.net/myblob
https://myaccount.blob.core.windows.net/$root/myblob
Instantáneas de blobs
Una instantánea es una versión de solo lectura de un blob almacenado tal como estaba en el momento en que se creó la instantánea. Puede usar instantáneas para crear una copia de seguridad o un punto de control de un blob. Un nombre de blob de instantánea incluye el URI del blob base más un valor de fecha y hora que indica cuándo se creó la instantánea.
Por ejemplo, supongamos que un blob tiene el siguiente URI:
https://myaccount.blob.core.windows.net/mycontainer/myblob
El URI de una instantánea de ese blob se forma de la siguiente manera:
https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
Caracteres Unicode no recomendados para su uso en nombres de contenedor o blob
En la tabla siguiente se proporciona una lista de caracteres Unicode que no se recomiendan para su uso en nombres de contenedor o de blobs. Estos caracteres, cuando se usan en combinación con otros caracteres de esta lista, pueden producir un error en la descodificación UTF-8 o MBCS, lo que provoca un error en la solicitud al servicio Blob.
Carácter 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+FDEE |
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 |
Consulte también
- Uso del servicio Blob Storage
- enumerar recursos de blobs
- Conceptos de Blob Service
- trabajar con el de contenedor raíz
- de blobs de instantáneas