Nombres clave para los buckets de almacenamiento de objetos de Lightsail - Amazon Lightsail

Nombres clave para los buckets de almacenamiento de objetos de Lightsail

Los archivos que cargue en su bucket se almacenan como objetos en el servicio de almacenamiento de objetos de Amazon Lightsail. Una clave de objeto (o el nombre de clave) identifica exclusivamente un objeto almacenado en un bucket. En esta guía se explica el concepto de nombres de clave y prefijos de nombre de clave que componen la estructura de carpetas de los buckets visualizados a través de la consola de Lightsail. Para obtener más información sobre los buckets, consulte Almacenamiento de objetos.

Nombres de claves

El modelo de datos del servicio de almacenamiento de objetos de Lightsail utiliza una estructura llana en lugar de una estructura jerárquica como la que vería en un sistema de archivos. No existe una jerarquía de carpetas y subcarpetas. Sin embargo, puede inferir una jerarquía lógica con prefijos de nombres de clave y delimitadores. La consola de Lightsail utiliza los prefijos de nombre de clave para mostrar los objetos en una estructura de carpetas.

Supongamos que el bucket tiene cuatro objetos con las siguientes claves de objeto:

  • Development/Projects.xls

  • Finance/statement1.pdf

  • Private/taxdocument.pdf

  • to-dos.doc

La consola de Lightsail utiliza los prefijos de nombre de clave (Development/, Finance/ y Private/) y el delimitador (/) para presentar una estructura de carpetas. El nombre de clave to-dos.doc no tiene un prefijo, por lo que su objeto aparece directamente en el nivel raíz del bucket. Si navega hasta la carpeta Development/ en la consola de Lightsail, verá el objeto Projects.xls. En la carpeta Finance/, verá el objeto statement1.pdf, y en la carpeta Private/, verá el objeto taxdocument.pdf.

La consola de Lightsail permite la creación de carpeta mediante la creación de un objeto de cero bytes con el prefijo de nombre de clave y el valor de delimitador como nombre de clave. Estos objetos de carpeta no aparecen en la consola. Sin embargo, se comportan como cualquier otro objeto. Puede verlos y manipularlos mediante la API, AWS Command Line Interface (AWS CLI) o los SDK de AWS de Amazon S3.

Directrices de nomenclatura de claves de objeto

Puede usar cualquier carácter UTF-8 en un nombre de clave de objeto. Sin embargo, el uso de ciertos caracteres en los nombres de las claves puede provocar problemas con algunas aplicaciones y protocolos. Las siguientes directrices le ayudan a aumentar al máximo el cumplimiento con DNS, caracteres seguros para la web, analizadores XML y otras API.

Caracteres seguros

Los siguientes conjuntos de caracteres son habitualmente seguros para su uso en nombres de claves.

  • Caracteres alfanuméricos

    • 0-9

    • a-z

    • A-Z

  • Caracteres especiales

    • Barra inclinada (/)

    • Signo de exclamación (!)

    • Guion (-)

    • Guion bajo (_)

    • Punto (.)

    • Asterisco (*)

    • Comilla simple (')

    • Abrir paréntesis (()

    • Cerrar paréntesis ())

A continuación se proporcionan ejemplos de nombres de claves de objeto válidos:

  • 4my-organization

  • my.great_photos-2014/jan/myvacation.jpg

  • videos/2014/birthday/video1.wmv

importante

Si el nombre de la clave de un objeto acaba con un solo punto (.) o de dos puntos (..), no puede descargar el objeto desde la consola de Lightsail. Para descargar un objeto con un nombre de clave que termine con uno o dos puntos, debe utilizar la API, AWS CLI y los SDK de AWS de Amazon S3. Para obtener más información, consulte Descarga de objetos desde un bucket.

Caracteres que podrían requerir un trato especial

Los siguientes caracteres de un nombre de clave podrían requerir un trato adicional en cuando a codificación, y probablemente tengan que codificarse en la URL o haya que referirse a ellos en HEX. Algunos de ellos son caracteres no imprimibles que su navegador podría no admitir, por lo que también requieren un trato especial:

  • Ampersand ("&")

  • Dólar (“$“)

  • Rangos de caracteres ASCII 00–1F hex (0–31 decimal) y 7F (127 decimal)

  • Arroba (“@“)

  • Igual (“=”)

  • Punto y coma (“;”)

  • Dos puntos (“:”)

  • Más (“+”)

  • Espacio: puede que se pierdan secuencias significativas de espacios en algunos usos (especialmente espacios múltiples)

  • Coma (“,”)

  • Signo de cierre de interrogación (“?”)

Caracteres que deben evitarse

Evite los siguientes caracteres en un nombre de clave debido a un trato significativamente especial para que sean coherentes en todas las aplicaciones.

  • Barra diagonal invertida (“\”)

  • Llave de apertura (“{”)

  • Caracteres ASCII no imprimibles (caracteres decimales 128-255)

  • Acento circunflejo (“^”)

  • Llave de cierre (“}”)

  • Carácter de porcentaje (“%”)

  • Acento grave (“`”)

  • Corchete de cierre (“]”)

  • Comillas

  • Símbolo mayor que (">")

  • Corchete de apertura (“[”)

  • Virgulilla (“~”)

  • Símbolo menor que ("<")

  • Almohadilla (“#”)

  • Barra vertical (“|”)

Restricciones de clave de objeto relacionadas con XML

Según lo especificado por el estándar XML sobre el tratamiento de final de línea, todo el texto XML se normaliza de manera que los retornos de carro único (código ASCII 13) y los retornos de carro seguidos inmediatamente de un salto de línea (código ASCII 10) se sustituyen por un único carácter de salto de línea. Para garantizar el análisis correcto de las claves de objeto en las solicitudes XML, los retornos de carro y otros caracteres especiales deben reemplazarse por su código de entidad XML equivalente cuando se insertan dentro de etiquetas XML. A continuación se muestra una lista de estos caracteres especiales y sus códigos de entidad equivalentes:

  • ' como &apos;

  • como &quot;

  • & como &amp;

  • < como &lt;

  • < como &gt;

  • \r como &#13; o &#x0D;

  • \n como &#10; o &#x0A;

En el ejemplo siguiente se ilustra el uso de un código de entidad XML como sustitución de un retorno de carro. Esta solicitud DeleteObjects elimina un objeto con el parámetro de clave /some/prefix/objectwith\rcarriagereturn (donde \r es el retorno de carro).

<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith&#13;carriagereturn</Key> </Object> </Delete>