Carga de un objeto
Escenarios
Puede subir archivos o carpetas a un bucket de OBS existente. Si desea clasificar los archivos que se van a cargar, cree una carpeta y suba los archivos relacionados a la carpeta.
Para obtener más información sobre cómo crear una carpeta, consulte Creación de una carpeta.
Estos archivos pueden ser textos, imágenes, videos o cualquier otro tipo de archivos.
OBS le permite subir objetos a bucket en una región específica, pero Huawei Cloud no detecta el contenido del objeto que ha subido. Si sus cargas de objetos implican una transferencia transfronteriza, asegúrese de que su uso cumple con las leyes y regulaciones pertinentes.
Restricciones
Tamaño y número de objetos a cargar
- OBS Console pone límites en el tamaño y el número de archivos que puede cargar.
- En las regiones que admiten cargas por lotes, se pueden cargar un máximo de 100 archivos a la vez, con un tamaño total de no más de 5 GB. Si carga un solo archivo por un lote, este archivo no puede superar los 5 GB de tamaño.
- En las regiones que no admiten cargas por lotes, solo se puede cargar un archivo a la vez, con un tamaño de no más de 50 MB.
- Con OBS Browser+ u obsutil, puede cargar archivos de menos de 48.8 TB. OBS Browser+ le permite subir un máximo de 500 archivos a la vez. No hay límite en el número de archivos que puedes subir usando obsutil a la vez.
- Con los métodos PUT, POST o anexar de los SDK o API de OBS, puede cargar archivos de menos de 5 GB.
- Con las cargas de varias partes de los SDK de OBS o API o las cargas reanudables de los SDK de OBS, puede cargar archivos de menos de 48.8 TB.
- Puede especificar una cuota para un bucket para limitar la capacidad del bucket para almacenar los objetos cargados. Para obtener más información, véase Gestión de cuotas de bucket.
Denominación de objetos
Operaciones por lotes
- Las cargas por lotes solo están disponibles cuando:
- El bucket se encuentra en cualquiera de las siguientes regiones: CN-Hong Kong, AP-Bangkok y AP-Singapore.
- La versión del bucket es 3.0. Para ver la versión del bucket, consulte Comprobación de la versión de OBS (OBS 2.0 u OBS 3.0).
Carga de carpetas
- Puede cargar carpetas con OBS Console, OBS Browser+ u obsutil.
Otros
- Si el control de versiones está deshabilitado y el nombre de un archivo recién cargado es el mismo que el de un archivo en el bucket, el archivo recién cargado sobrescribe automáticamente el archivo existente y no conserva la información de ACL del archivo existente. Si el nombre de la carpeta recién cargada es el mismo que el de una carpeta en el bucket, las dos carpetas se fusionarán y los archivos de la nueva carpeta sobrescribirán los archivos con nombre en la carpeta antigua.
- Si el control de versiones está habilitado y el nombre de un archivo recién cargado es el mismo que el de un archivo en el bucket, se agrega una nueva versión al archivo existente. Para obtener más información sobre el control de versiones, consulte Control de versiones.
Métodos de carga
Métodos de carga |
Descripción |
---|---|
PUT (Subida en streaming) |
Utilice el método PUT o POST cuando el tamaño del archivo que se va a cargar sea inferior a 5 GB. Para obtener más información sobre las diferencias entre los dos métodos de carga, consulte ¿Cuáles son las diferencias entre los métodos de carga PUT y POST? |
POST (carga basada en navegador) |
|
Carga multiparte |
Utilice este método cuando el tamaño del archivo que se va a cargar sea superior a 5 GB e inferior a 48.8 TB. Para obtener más información, véase Carga de objetos mediante una carga de varias partes.
NOTA:
Si tiene más de 48.8 TB de datos para cargar, consulte Migración de datos locales a OBS. |
Transferencia reanudable |
La carga de archivos grandes a menudo falla debido a las malas condiciones de la red o a las averías del programa. Es un desperdicio de recursos reiniciar el proceso de carga tras un fallo de carga, y el proceso de carga reiniciado aún puede sufrir de la red inestable. Para resolver estos problemas, puedes usar la API para la carga reanudable, cuyo principio de funcionamiento es dividir el archivo que se va a cargar en varias partes y cargarlos por separado. Este método ahorra recursos y mejora la eficiencia al volver a cargar, y acelera el proceso de carga al cargar simultáneamente partes. Para obtener más información, consulte ¿OBS admite la transferencia de datos reanudable? |
Carga sincrónica de objetos incrementales |
Este método sincroniza todo el contenido de la ruta de origen local con el bucket de destino especificado en OBS, asegurando que el contenido es consistente entre la ruta de acceso local y el bucket de destino. La sincronización incremental tiene los siguientes significados: 1) Incremento: Compare el archivo de origen con el objeto de destino y cargue solo el archivo de origen que tiene cambios. 2) Sincronización: Después de ejecutar el comando, asegúrese de que la ruta de origen local es un subconjunto del bucket de destino especificado por OBS. Es decir, cualquier archivo en la ruta de origen local tiene su objeto correspondiente en el bucket de destino en OBS. Para obtener más información, consulte Carga de objetos incrementales de forma sincrónica. |
Carga agregada |
La operación AppendObject agrega datos al final de un objeto en un bucket especificado. Si no hay ningún objeto con nombre en el bucket, se crea un nuevo objeto. Para obtener más información, consulte Adición de un objeto. |
Cómo usarlo
Puede usar OBS Console, SDKs, OBS Browser+, obsutil, o API para cargar objetos.
Herramienta |
Referencia |
---|---|
OBS Console |
|
SDK |
OBS admite kits de desarrollo de software (SDK) en varios idiomas. Para obtener más información, consulte la guía para desarrolladores correspondiente en la página de Descripción de los SDK. |
API |
|
OBS Browser+ |
|
obsutil |
Operaciones relacionadas
Al cargar un objeto, puede especificar una clase de almacenamiento para él. Después de cargar el objeto, también puede cambiar su clase de almacenamiento.
- Puede cambiar manualmente los objetos entre las clases de almacenamiento Standard, Infrequent Access, Deep Archive y Archive. Los objetos de la clase de almacenamiento Archive deben restaurarse antes de poder cambiarse manualmente a la clase de almacenamiento Standard o Infrequent Access. Cambiar la clase de almacenamiento de objetos en la clase de almacenamiento Infrequent Access, Deep Archive, o Archive implica costos de recuperación, por lo que se recomienda cambiar sus clases de almacenamiento en función de la frecuencia de acceso y el escenario.
- La duración mínima de almacenamiento es de 30 días para el almacenamiento de Infrequent Access y 90 días para el almacenamiento de Archive. Si un objeto se realiza la transición a otra clase de almacenamiento antes de que se haya almacenado durante la duración mínima de almacenamiento requerida, deberá pagar los días restantes.
- También puede configurar una regla de ciclo de vida para realizar la transición de la clase de almacenamiento de un objeto. Para obtener más información, véase Gestión del ciclo de vida.
Conceder permiso a otras cuentas de Huawei para cargar objetos
En este ejemplo se describe cómo conceder permiso a otras cuentas de Huawei (incluidos los usuarios de IAM) para cargar objetos en OBS.
Se recomiendan las políticas de bucket para conceder tal permiso.
Antes de conceder el permiso de carga de objetos a un usuario de IAM con otra cuenta de Huawei, el usuario de IAM debe haber sido autorizado a realizar las operaciones especificadas en el bucket por su cuenta. Las operaciones permitidas deben ser las mismas que las especificadas en la política de bucket. Para obtener más información, consulte Configuración de un permiso de IAM que permite operaciones especificadas.
Si la cuenta a la que desea conceder permiso tiene el rol Tenant Administrator que contiene los permisos de administrador para todos los servicios excepto IAM, omita la configuración mencionada aquí.
- Inicie sesión en OBS Console. En el panel de navegación, elija Object Storage.
- En la lista de bucket, haga clic en el nombre del bucket que desea ir a la página Objects.
- En el panel de navegación, elija Permissions > Bucket Policies.
- En la página Bucket Policies, haga clic en Create.
- Configure parámetros para una política de bucket.
Figura 1 Configuración de la política de bucket
- Asegúrese de que todas las configuraciones son correctas y haga clic en Create.
- Compruebe que la cuenta autorizada puede cargar objetos mediante una API o los SDK, o puede cargar objetos mediante el bucket externo agregado a OBS Browser+ cuando el permiso ListBucket esté disponible. Actualmente, no se permite usar OBS Console para acceder a bucket de otras cuentas.
Después de configurar el permiso ListBucket, cuando usa OBS Browser+ para acceder al bucket externo agregado, es posible que se muestre un mensaje que indique que no tiene los permisos necesarios.
Esto sucede porque al cargar la página de detalles del bucket en OBS Browser+ invoca a otras API de OBS cuyas operaciones no están permitidas por los permisos concedidos. Sin embargo, los permisos existentes no se ven afectados.
Causas de las fallas y soluciones de carga de objetos
Para obtener más información, consulte ¿Por qué no puedo cargar un objeto?