Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive
Centro de ayuda/ Object Storage Service/ Guía del usuario/ Gestión de objetos/ Carga de objetos/ Carga de objetos mediante una carga de varias partes

Carga de objetos mediante una carga de varias partes

Actualización más reciente 2024-09-18 GMT+08:00

La carga de varias partes permite cargar un objeto único como un grupo de partes por separado. Cada parte es una parte de datos de objeto consecutivos. Puede cargar partes de objeto en cualquier secuencia o cargarlas de forma independiente. Una pieza se puede recargar después de un fallo de carga, sin afectar a otras piezas. Una vez cargadas todas las piezas, OBS fusiona estas piezas para crear el objeto. Generalmente, si el tamaño de un objeto alcanza los 100 MB, se recomienda cargar varias partes. Por ejemplo, si desea cargar un objeto de 500 MB en un bucket de OBS, puede usar OBS Browser+ para cargar el objeto mediante una carga de varias partes. OBS Browser+ divide el objeto en partes pequeñas y luego carga las partes. Alternativamente, puede invocar a la API de carga de varias partes, lo que mejora la eficiencia de la carga y reduce los fallos.

La carga de varias partes proporciona las siguientes ventajas:

  • Mejorar el rendimiento: puede cargar piezas en paralelo para mejorar el rendimiento.
  • Recuperación rápida de cualquier fallo de red: Las piezas de tamaño pequeño pueden minimizar el impacto de la carga fallida causada por errores de red.
  • Cómoda suspensión y reanudación de la carga de objetos: Puede cargar piezas en cualquier momento. Una carga de varias partes no tiene un período de validez. Debe completar o cancelar explicitamente la carga de varias partes.
  • Iniciar la carga antes de conocer el tamaño de un objeto: Puede cargar un objeto mientras lo crea.

La API de carga de varias partes permite cargar un objeto grande en varias partes. Puede cargar un nuevo objeto grande o crear una copia de un objeto existente mediante esta API.

El procedimiento para cargar varias secciones es el siguiente: iniciar la carga (inicializar la tarea de carga), cargar partes y completar la carga (unir las partes cargadas). Al recibir una solicitud de fusión de piezas, OBS fusiona las piezas cargadas para crear un nuevo objeto. Se puede acceder al objeto como otros objetos.

Puede enumerar todas las tareas de carga de varias partes en curso u obtener la lista de partes cargadas sobre una tarea especificada de carga de varias partes. A continuación se describen las operaciones detalladas.

Inicio de una carga de varias partes

Cuando envía una solicitud para iniciar la carga de varias partes, OBS devuelve una respuesta con el ID de carga, que es el identificador único de la carga de varias partes. Este ID debe incluirse en la solicitud para cargar piezas, enumerar las piezas cargadas, completar una carga de varias piezas o cancelar una carga de varias partes.

Carga de una parte

Al cargar piezas, debe especificar el ID de carga y los números de pieza. Puede seleccionar cualquier número de pieza entre 1 y 10,000. Un número de pieza identifica de forma exclusiva una pieza y su ubicación en el objeto que está cargando. Si el número de una parte cargada se utiliza para cargar una nueva parte, la parte cargada se sobrescribirá. Cada vez que suba una parte, OBS devuelve el encabezado ETag en la respuesta. Para cada tarea de carga de piezas, debe registrar los números de pieza y los valores de ETag. Estos números de parte y valores de ETag son necesarios en operaciones posteriores de completar la tarea de carga de varias partes.

AVISO:

Una vez inicializada la tarea de carga de varias partes y cargadas una o más partes, debe combinar las partes o cancelar la tarea de carga de varias partes. De lo contrario, tienes que pagar la tarifa de almacenamiento de las piezas cargadas. OBS libera el almacenamiento y deja de cobrar la tarifa de almacenamiento solo después de que se fusionen las partes cargadas o se cancele la tarea de carga de varias partes.

Cuando se realizan varias operaciones de carga simultánea para la misma parte de un objeto, el servidor cumple con la política Last Write Win, pero el tiempo al que se hace referencia en Last Write es el tiempo en que se crean los metadatos de la parte. Para garantizar la precisión de los datos, el cliente debe estar bloqueado durante la carga simultánea para la misma parte de un objeto. La carga simultánea para diferentes partes de un objeto no requiere que el cliente esté bloqueado.

Copia de una parte

Después de crear un trabajo de carga de varias partes, puede especificar ID de carga y cargar partes para la tarea de carga especificada. También puede invocar a la API para copiar piezas para agregar piezas. Una parte de un objeto o todo el objeto se puede copiar como una parte.

AVISO:

No se puede determinar si una solicitud se realiza correctamente solo en función del status_code en el encabezado de HTTP devuelto. Si se devuelve 200 para status_code, el servidor ha recibido la solicitud y ha comenzado a procesarla. La copia solo tiene éxito cuando el cuerpo de la respuesta contiene ETag.

Si copia el objeto de origen como una parte llamada part1 y otra part1 ya existe antes de la operación de copia, la part1 original será sobrescrita por la nueva después de la operación de copia. Una vez que la copia se realiza correctamente, solo se muestra la nueva part1. Los datos de la part1 anterior se eliminarán. Por lo tanto, asegúrese de que la pieza de destino no existe o no tiene valor al copiar una pieza. De lo contrario, los datos pueden ser eliminados por error. El objeto de origen no cambia durante la copia.

Fusión de piezas y cancelación de una tarea de carga de varias piezas

Al fusionar piezas, OBS crea un objeto estandarizando varias piezas en orden ascendente. Si se proporciona algún metadato de objeto en la inicialización de una tarea de carga de artículos, OBS asocia los metadatos con el objeto. Una vez completada la carga de varias piezas, las piezas dejarán de existir. Una solicitud de fusión de piezas debe contener el ID de carga, los números de pieza y una lista de valores de ETag correspondientes. Las respuestas OBS incluyen la ETag que identifica de forma única datos de objetos compuestos. La ETag no es el valor hash MD5 de los datos del objeto. Puede cancelar una tarea de carga de varias partes. Después de cancelar una tarea de carga de varias partes, el ID de carga no se puede utilizar para cargar ninguna parte. Luego, OBS libera el almacenamiento de todas las partes cargadas. Si detienes una carga de varias parte en curso, la carga seguirá completa (el resultado puede ser exitoso o fallado). Para liberar la capacidad de almacenamiento ocupada por todas las partes cargadas, cancele la carga de varias partes una vez completada toda la tarea.

AVISO:

Si se cargan 10 piezas pero solo se seleccionan nueve piezas para combinar, las piezas que no se fusionan se eliminarán automáticamente por el sistema. Las piezas que no se fusionan no se pueden restaurar después de eliminarlas. Antes de fusionar las piezas, adopta la API utilizada para enumerar las piezas que se han cargado para comprobar todas las piezas para asegurarse de que no se pierda ninguna pieza.

Enumeración de piezas cargadas

Puede enumerar las partes de una tarea de carga de varias partes especificadas o las partes de todas las tareas de carga de varias partes en curso. La información sobre las piezas cargadas en una carga de varias piezas específica se devolverá para una solicitud de lista de las piezas cargadas. Para cada solicitud de listar las piezas cargadas, OBS devuelve información sobre las piezas cargadas en la carga multiparte específica. Se puede devolver información sobre un máximo de 1000 piezas. Si se cargan más de 1000 piezas en una carga de varias piezas, debe enviar varias solicitudes para listar todas las piezas cargadas. La lista de piezas cargadas no incluye las piezas combinadas.

AVISO:

Una lista devuelta solo se puede utilizar para la verificación. Una vez completada la carga de varias partes, el resultado de la lista ya no es válido. Sin embargo, cuando se cargan los números de pieza y los valores ETag devueltos por OBS, se reservará la lista de números de pieza especificados por el usuario.

Listado de cargas de varias partes

Puede obtener la lista de tareas de carga de varias partes inicializadas enumerando las tareas de carga multiparte en el bucket. Las tareas de carga de varias partes inicializadas se refieren a las tareas de carga de varias partes que no se fusionan o cancelan después de la inicialización. Se puede devolver un máximo de 1000 tareas de carga de varias partes para cada solicitud. Si el número de tareas de carga multiparte en curso es superior a 1000, debe enviar más solicitudes para consultar las tareas restantes.

Tabla 1 enumera las restricciones en la lista de cargas de varias partes.

Tabla 1 Restricciones en la lista de cargas de varias partes

Concepto

Restricción

Tamaño del objeto

Hasta 48.8 TB

Número máximo de piezas para cada tarea de carga

10,000

Número de pieza

1–10,000 (incluido)

Tamaño de la pieza

El tamaño de la pieza está entre 5 MB y 5 GB. El tamaño de la última parte está entre 0 bytes y 5 GB.

Número máximo de piezas cargadas devueltas en respuesta a la solicitud de enumeración de piezas cargadas.

1000

Número máximo de tareas de carga multiparte inicializadas devueltas en respuesta a la solicitud de enumeración de tareas multiparte inicializadas.

1000

Operaciones y permisos de carga de varias partes

Puede realizar la carga de varias partes solo después de que se le haya concedido el permiso. Puede usar ACL, políticas de bucket o políticas de usuario para conceder a los usuarios el permiso. En la siguiente tabla se enumeran las operaciones de carga de varias partes y los permisos necesarios que pueden conceder las ACL, las políticas de bucket o las políticas de usuario.

Operación

Permisos requeridos

Inicio de una carga de varias partes

Para realizar esta operación, necesita tener el permiso de PutObject.

El propietario de un bucket puede permitir a los administradores realizar la operación de PutObject.

Carga de piezas

Para realizar esta operación, necesita tener el permiso de PutObject.

Solo el iniciador de una carga de varias partes puede cargar partes. El propietario del bucket debe conceder al iniciador de carga de varias partes el permiso de PutObject para que el iniciador pueda cargar partes del objeto.

Copia de partes

Para realizar esta operación, necesita tener el permiso de PutObject así como el permiso de GetObject sobre el objeto que se va a copiar.

Solo el iniciador de una carga de varias partes puede copiar partes. El propietario del bucket debe conceder al iniciador de carga de varias partes el permiso de PutObject para que el iniciador pueda cargar partes del objeto.

Montaje de partes

Para realizar esta operación, necesita tener el permiso de PutObject.

Solo el iniciador de una carga de varias partes puede ensamblar piezas. El propietario del bucket debe conceder al iniciador de carga multiparte el permiso PutObject para que el iniciador pueda completar la carga de varias partes.

Cancelación de una carga de varias partes

Para realizar esta operación, necesita tener el permiso de AbortMultipartUpload.

De forma predeterminada, solo el propietario del bucket y el iniciador de carga de varias partes tienen este permiso. Además de la configuración predeterminada, el propietario del bucket puede permitir que los administradores realicen esta operación. El propietario del cubo también puede negar a los administradores que realicen esta operación.

Enumeración de piezas cargadas

Para realizar esta operación, necesita tener el permiso de ListMultipartUploadParts.

De forma predeterminada, el propietario del bucket puede enumerar las partes cargadas de cualquier carga de varias partes al bucket. El iniciador de carga multiparte puede enumerar las partes cargadas de una carga específica de varias partes.

Además de la configuración predeterminada, el propietario del bucket puede permitir que los administradores realicen esta operación. El propietario del cubo también puede negar a los administradores que realicen esta operación.

Listado de cargas de varias partes

Para enumerar las tareas de carga de varias partes en el bucket, necesita tener el permiso de ListBucketMultipartUploads.

Además de la configuración predeterminada, el propietario del bucket puede permitir que los administradores realicen esta operación.

Las API de REST aplicables a la carga de varias partes

Las siguientes secciones de la Referencia de la API de servicio de almacenamiento de objetos describen las API de REST relevantes para la carga de varias partes.

  • Listado de cargas de varias partes iniciadas en un bucket
  • Inicio de una carga de varias partes
  • Carga de varias partes
  • Carga de una parte de objecto - Copia
  • Listado de partes cargadas de un objeto
  • Completo de una carga de varias partes
  • Cancelación de tareas de carga de varias partes

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios