En Object Storage Service (OSS), un objeto es la unidad básica de almacenamiento de datos y funciona de manera similar a un archivo. Cualquier archivo, como un documento, una imagen o un video, se almacena como un objeto dentro de un bucket para su gestión.
Componentes de un objeto
Key: El nombre del objeto. Se utiliza para consultar el objeto y debe ser único.
Data: Los datos reales del objeto. Consisten en una secuencia de bytes.
Object Meta: Los metadatos del objeto. Los metadatos son un conjunto de pares clave-valor que describen las propiedades del objeto, como su tamaño y la fecha de la última modificación. También puede usar los metadatos para almacenar información personalizada.
Version ID: Si habilita la función versioning, puede guardar varias versiones de un objeto. Cada vez que carga un objeto con un nombre que ya existe, OSS crea una nueva versión y le asigna un identificador de versión único. Este identificador se usa para acceder a versiones específicas del objeto y gestionarlas.
Nombres de los objetos (Key)
Cada objeto tiene un nombre único llamado Key. Por ejemplo, la clave "exampledir/example.jpg" representa el archivo example.jpg dentro de la carpeta exampledir.
En la documentación del SDK, la clave también se menciona como ObjectKey, ObjectName o nombre del objeto. Estos términos tienen el mismo significado.
Convenciones de nomenclatura
Use la codificación UTF-8.
La longitud debe estar entre 1 y 1,023 bytes.
No inicie el nombre con una barra diagonal (/) ni con una barra diagonal inversa (\).
Las claves distinguen entre mayúsculas y minúsculas.
Recomendaciones de nomenclatura
Use nombres descriptivos, como nombres de archivo, fechas o identificadores de usuario, para facilitar la búsqueda y comprensión de los objetos.
Utilice prefijos para organizar los datos. Puede crear una jerarquía mediante prefijos como fechas, identificadores de usuario o regiones.
Asegúrese de que los nombres sean únicos. Incluya números aleatorios o UUID en los nombres de los objetos para evitar conflictos.
Ejemplos de nomenclatura
|
Ubicación del objeto en el bucket |
Representación de la clave |
|
Un objeto llamado exampleobject.txt se almacena en el directorio raíz del bucket examplebucket. |
exampleobject.txt |
|
Un objeto llamado exampleobject.jpg se almacena en el directorio destdir, dentro del directorio raíz del bucket examplebucket. |
destdir/exampleobject.jpg |
Visualización de los directorios de OSS
En OSS no existen conceptos tradicionales de sistemas de archivos, como archivos y carpetas. Para mejorar la experiencia del usuario, se usan barras diagonales (/) en las claves de los objetos para simular una estructura de carpetas, por ejemplo, exampledir/example.jpg. En este caso, exampledir simula una carpeta y example.jpg simula un archivo dentro de exampledir. Esta estructura similar a carpetas es visible en la consola de OSS y en herramientas gráficas como ossbrowser. Sin embargo, la clave del objeto sigue siendo exampledir/example.jpg. Para obtener más información, consulte Manage directories.
Tipos de objetos
Los objetos se clasifican en cuatro tipos según su método de creación. A continuación se describen estos cuatro tipos.
Los objetos no se pueden convertir de un tipo a otro. Por ejemplo, un objeto Normal no se puede convertir en un objeto Multipart ni Appendable.
|
Tipo |
Definición |
Descripción |
|
Normal |
Este tipo de objetos se crea mediante simple upload. |
|
|
Multipart |
Este tipo de objetos se crea mediante multipart upload. |
|
|
Appendable |
Este tipo de objetos se crea mediante append upload. |
Cuando se agregan datos a un objeto appendable, OSS no crea una nueva versión del objeto, sin importar el estado del control de versiones. Los datos se añaden directamente al objeto original. |
|
Symlink |
Este tipo de objetos se crea mediante enlaces simbólicos generados al llamar a la operación PutSymlink. |
Puede usar symbolic links para acceder a los objetos que se consultan con frecuencia. |
Marcadores de eliminación
OSS utiliza un tipo especial de marcador de objeto llamado marcador de eliminación. Cuando llama a la operación DeleteObject para eliminar un objeto en un bucket con el control de versiones habilitado o suspendido, OSS genera un marcador de eliminación para ese objeto. Si no se especifica un identificador de versión durante la eliminación, OSS asigna el marcador de eliminación como la versión más reciente del objeto. Esto garantiza que los datos del objeto se conserven y se puedan restaurar incluso después de la eliminación. Sin embargo, si se especifica un identificador de versión, OSS elimina esa versión específica y no genera ningún marcador de eliminación.
Funciones
Cargar objetos
|
Procedimiento |
Descripción |
|
Use la operación de API PutObject para cargar un solo archivo de menos de 5 GB. Este método es adecuado para cargas que se completan en una única solicitud HTTP. |
|
|
Divida un archivo en varias partes y cárguelas por separado. Una vez cargadas todas las partes, llame a la operación de API CompleteMultipartUpload para combinarlas en un solo objeto. |
|
|
Especifique un punto de control en un archivo de puntos de control. Si una carga falla debido a un error de red o a un cierre inesperado del programa, la carga se reanuda desde el punto de control registrado para transferir las partes restantes. |
|
|
OSS puede enviar una devolución de llamada a un servidor de aplicaciones cuando finaliza la carga de un archivo. Para implementar una devolución de llamada, incluya los parámetros correspondientes en la solicitud enviada a OSS. |
|
|
Cargue archivos directamente desde un cliente hacia OSS. Este método evita enrutar los archivos a través de su servidor de aplicaciones, lo que mejora la velocidad de carga y ahorra recursos del servidor. |
|
|
Use la operación de API PostObject para cargar un archivo desde un formulario HTML. El archivo cargado no puede superar los 5 GB. |
|
|
Agregue contenido directamente al final de un objeto Appendable existente. |
|
|
Puede usar Real-Time Messaging Protocol (RTMP) para introducir flujos de video codificados en H.264 y flujos de audio codificados en AAC hacia OSS. Los datos de audio y video cargados se pueden reproducir bajo demanda o utilizar para transmisiones en vivo en escenarios donde la latencia no es un factor crítico. |
Descargar objetos
|
Procedimiento |
Descripción |
|
Use la operación de API GetObject para descargar un archivo cargado. Este método es adecuado para descargas que se completan en una única solicitud HTTP. |
|
|
Descargue un archivo a partir de una posición específica. Al descargar archivos grandes, puede dividirlos en varias partes. Si la descarga se interrumpe, puede reanudarla desde el punto donde quedó. |
|
|
Después de cargar un archivo en un bucket, puede compartir su URL con terceros para que lo previsualicen o lo descarguen. |
|
|
Los objetos se descargan únicamente si su contenido cambió, lo cual se determina mediante la fecha de la última modificación o el ETag. Esta función garantiza que las descargas se activen solo cuando hay actualizaciones, lo que evita repeticiones innecesarias. |
Gestionar objetos
|
Procedimiento |
Descripción |
|
De forma predeterminada, los objetos de un bucket se enumeran en orden alfabético. Según sus necesidades, puede listar todos los objetos del bucket actual, los objetos con un prefijo específico o una cantidad determinada de objetos. |
|
|
Copie un archivo de un bucket de origen a un bucket de destino en la misma región sin modificar su contenido. |
|
|
Cambie el nombre de un objeto dentro de un bucket. |
|
|
Cuando un bucket contiene muchos objetos, OSS permite buscar y localizar rápidamente un archivo de destino al especificar un prefijo de nombre de archivo. |
|
|
Antes de acceder a un objeto en Cold Archive o Deep Cold Archive, debe iniciar un proceso de restauración para dicho objeto. |
|
|
Elimine los objetos que ya no necesita conservar en un bucket mediante diversos métodos. |
|
|
OSS admite el uso de etiquetas para clasificar los objetos de un bucket. Puede establecer reglas de ciclo de vida y permisos de acceso para los objetos que comparten la misma etiqueta. |
|
|
La función de enlace simbólico sirve para acceder rápidamente a los objetos de uso frecuente en un bucket. Después de configurar un enlace simbólico, puede abrir el objeto de forma rápida mediante el archivo de enlace simbólico. |
|
|
Los metadatos de un objeto describen las propiedades de un archivo e incluyen encabezados HTTP estándar y metadatos definidos por el usuario (User Meta). Configure los encabezados HTTP del archivo para personalizar las políticas de solicitudes HTTP, como las políticas de caché y de descarga forzada. También puede establecer metadatos definidos por el usuario para identificar el propósito o las propiedades de un objeto. |
|
|
Cuando un cliente accede a archivos en OSS, puede consumir una gran cantidad de ancho de banda, lo que afecta a otras aplicaciones. Utilice la función de limitación de ancho de banda por conexión individual de OSS para controlar el tráfico durante operaciones como la carga y descarga de archivos. Esto garantiza que haya suficiente ancho de banda de red disponible para otras aplicaciones. |
|
|
Use SelectObject para ejecutar una instrucción SQL sobre un archivo de destino y devolver el resultado de la ejecución. |
|
|
Durante una carga multiparte, si algunas partes ya no son necesarias, llame a la operación de API AbortMultipartUpload para eliminar esas partes incompletas. |
|
|
Para permitir que varios usuarios accedan a los recursos de un bucket de OSS desde distintas ubicaciones y dispositivos, utilice Cloud Storage Gateway (CSG) para asignar el bucket de OSS a un sistema de almacenamiento de archivos compartido. Así, los usuarios pueden operar con los recursos de OSS igual que lo harían con archivos y discos locales. |