Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
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
Gerenciamento e governança
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
Migração
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álises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
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
Aplicações de negócios
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
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive

Carregamento de multiparte

Atualizado em 2022-11-24 GMT+08:00

Carregamento de multiparte permite carregar um único objeto como um grupo de partes separadamente. Cada parte é uma parte de dados de objetos consecutivos. Você pode fazer carregamento de partes de objetos em qualquer sequência ou carregá-las de forma independente. Uma parte pode ser recarregada após uma falha de carregamento, sem afetar outras partes. Depois que todas as partes são carregadas, o OBS mescla essas partes para criar o objeto. Geralmente, se o tamanho de um objeto atingir 100 MB, o carregamento de multiparte é recomendado. Por exemplo, você deseja carregar um objeto (500 MB) em um bucket do OBS. Nesse caso, você pode usar a ferramenta OBS Browser+ para carregar o objeto em várias partes. A ferramenta divide automaticamente o objeto em várias partes para carregamento. Como alternativa, você pode fazer uma chamada de API para carregamento de multiparte, melhorando a eficiência do carregamento e reduzindo falhas.

Carregamento de multiparte oferece os seguintes benefícios:

  • Melhoramento do taxa de transferência: Você pode fazer carregamento de partes em paralelo para melhorar a taxa de transferência.
  • Recuperação rápida de quaisquer falhas de rede: Peças de tamanho pequeno podem minimizar o impacto da falha no carregamento causada por erros de rede.
  • Suspensão conveniente e retomada do carregamento de objetos: Você pode fazer o carregamento de partes a qualquer momento. Um carregamento de multiparte não tem um período de validade. Você deve concluir ou cancelar explicitamente o carregamento de multiparte.
  • Iniciação do carregamento antes de saber o tamanho de um objeto: Você pode carregar um objeto ao criá-lo.

A API de carregamento de multiparte permite o carregamento de um objeto grande em várias partes. Você pode fazer carregamento de um novo objeto grande ou criar uma cópia de um objeto existente usando essa API.

O procedimento para carregar várias seções é o seguinte: Iniciação do carregamento (inicialização da tarefa de carregamento), carregamento de partes e conclusão do carregamento (mescla das partes carregadas). Ao receber uma solicitação de mescla de partes, o OBS mescla as partes carregadas para criar um novo objeto. O objeto pode ser acessado como outros objetos.

Você pode listar todas as tarefas de carregamento de multiparte em andamento ou obter a lista de partes carregadas de uma tarefa de carregamento de multiparte especificada. A seguir, descrevem-se as operações detalhadas.

Inicialização de uma tarefa de carregamento de multiparte

Quando você envia uma solicitação para iniciar o carregamento de multiparte, o OBS retorna uma resposta com o ID de carregamento, que é o identificador exclusivo do carregamento de multiparte. Esse ID deve ser incluído na solicitação para fazer carregamento de partes, listar partes carregadas, concluir um carregamento de multiparte ou cancelar um carregamento de multiparte.

Carregamento de uma parte

Ao carregar partes, você deve especificar o ID de carregamento e os números de parte. Você pode selecionar qualquer número de parte entre 1 e 10.000. Um número de parte identifica exclusivamente uma parte e sua localização no objeto que você está carregando. Se o número de uma parte carregada for usado para carregar uma nova parte, a parte carregada será sobrescrita. Sempre que você carrega uma parte, o OBS retorna o cabeçalho ETag na resposta. Para cada tarefa de carregamento de parte, é necessário registrar os números de parte e os valores de ETag. Esses números de parte e valores de ETag são necessários nas operações subseqüentes de conclusão da tarefa de carregamento de multiparte.

Depois que a tarefa de carregamento de multiparte é inicializada e uma ou mais partes são carregadas, você deve mesclar as partes ou cancelar a tarefa de carregamento de multiparte. Caso contrário, você tem que pagar pela taxa de armazenamento das partes carregadas. O OBS libera o armazenamento e pára de cobrar a taxa de armazenamento somente depois que as partes carregadas são mescladas ou a tarefa de carregamento de multiparte é cancelada.

Quando várias operações de carregamento simultâneas são executadas para a mesma parte de um objeto, o servidor está em conformidade com a política Last Write Win, mas a hora referida em Last Write é a hora em que os metadados da parte são criados. Para garantir a precisão dos dados, o cliente deve ser bloqueado durante o carregamento simultâneo para a mesma parte de um objeto. O carregamento simultâneo de diferentes partes de um objeto não requer que o cliente seja bloqueado.

Cópia de uma parte

Depois de criar um trabalho de carregamento de multiparte, você pode especificar os ID de carregamento e partes de carregamento para a tarefa de carregamento especificada. Você também pode chamar a API para cópia de partes para adicionar partes. Uma parte de um objeto ou todo o objeto pode ser copiado como uma parte.

Não é possível determinar se uma solicitação foi executada com sucesso usando apenas status_code no cabeçalho retornado pelo HTTP. Se 200 em status_code for retornado, o servidor recebeu a solicitação e começa a processar a solicitação. O corpo na resposta mostra se a solicitação foi executada com sucesso. A solicitação é executada com sucesso somente quando o corpo contém Etag. Caso contrário, o pedido não será executado.

Se você copiar o objeto de origem como uma parte chamada part1 e outra parte1 já existir antes da operação de cópia, a parte1 original será substituída pela nova após a operação de cópia. Depois que a cópia for bem-sucedida, somente a nova parte1 será exibida. Os dados da antiga parte 1 serão apagados. Portanto, assegure-se de que a parte de destino não exista ou não tenha valor ao copiar uma parte. Caso contrário, os dados podem ser apagados por engano. O objeto de origem não muda durante a cópia.

Mescla de componentes e cancelamento de uma tarefa de carregamento de multiparte

Ao mesclar partes, o OBS cria um objeto ao padronizar múltiplas partes em ordem crescente. Se algum metadado de objeto for fornecido na inicialização de uma tarefa de carregamento de parte, o OBS associará os metadados ao objeto. Depois que o carregamento de multiparte for concluído, as partes não existirão mais. Uma solicitação de mescla de partes deve conter o ID de carregamento, números de parte e uma lista de valores ETag correspondentes. As respostas do OBS incluem o ETag que identifica exclusivamente os dados do objeto composto. O ETag não é o valor de hash MD5 dos dados do objeto. Você pode cancelar uma tarefa de carregamento de multiparte. Depois que uma tarefa de carregamento de multiparte é cancelada, o ID de carregamento não pode ser usado para carregar qualquer parte. Em seguida, o OBS libera o armazenamento de todas as partes carregadas. Se você parar um carregamento de multiparte em andamento, o carregamento ainda será concluído (o resultado pode ser bem-sucedido ou fracassado). Para liberar a capacidade de armazenamento ocupada por todos os componentes carregados, cancele o carregamento de multiparte após a conclusão de toda a tarefa.

Se 10 partes forem carregadas, mas apenas nove forem selecionadas para mescla, as partes que não forem mescladas serão automaticamente excluídas pelo sistema. As partes que não são mescladas não podem ser restauradas após serem excluídas. Antes de mesclar as partes, adote a API usada para listar as partes que foram carregadas para verificar todas as partes para garantir que nenhuma parte seja perdida.

Listagem de partes carregadas

Você pode listar as partes de uma tarefa de carregamento de multiparte especificada ou as partes de todas as tarefas de carregamento de multiparte em andamento. As informações sobre as partes carregadas em um carregamento de multiparte específico serão retornadas para uma solicitação de lista de partes carregadas. Para cada solicitação para listar partes carregadas, o OBS retorna informações sobre partes carregadas no carregamento de multiparte específico. Informações sobre um máximo de 1000 partes podem ser devolvidas. Se mais de 1000 partes forem carregadas em um carregamento de multiparte, você precisará enviar várias solicitações para listar todas as partes carregadas. A lista de partes carregadas não inclui partes mescladas.

Uma lista devolvida só pode ser usada para verificação. Após a conclusão de um carregamento de multiparte, o resultado na lista não é mais válido. No entanto, quando os números de parte e os valores de ETag retornados pelo OBS são carregados, a lista de números de parte especificados pelo usuário será reservada.

Listagem de tarefas de carregamento de multiparte

Você pode obter a lista de tarefas de carregamento de multiparte inicializadas listando as tarefas de carregamento de multiparte no bucket. Tarefas de carregamento de multiparte inicializadas referem-se às tarefas de carregamento de multiparte que não são mescladas ou canceladas após a inicialização. Um máximo de 1000 tarefas de carregamento de multiparte podem ser retornadas para cada solicitação. Se o número de tarefas de carregamento de multiparte em andamento exceder 1000, você precisará enviar mais solicitações para consultar as tarefas restantes.

Tabela 1 lista as restrições na listagem de carregamentos de multiparte

Tabela 1 Restrições na listagem de carregamentos de multiparte

Item

Restrição

Tamanho do objeto

Até 48,8 TB

Número máximo de partes para cada tarefa de carregamento

10.000

Número da parte

1–10.000 (incluído)

Tamanho da parte

O tamanho da parte está entre 5 MB e 5 GB. O tamanho da última parte é entre 0 bytes a 5 GB.

Número máximo de partes carregadas retornadas em resposta à solicitação de lista de partes carregadas.

1000

Número máximo de tarefas de carregamento de multiparte inicializadas retornadas em resposta à solicitação de lista de tarefas de várias partes inicializadas.

1000

Operações e permissões de carregamento de multiparte

Você pode realizar o carregamento de multiparte somente após receber a permissão. Você pode usar ACL, políticas de bucket ou políticas de usuário para conceder aos usuários a permissão. A tabela a seguir lista as operações de carregamento de multiparte e as permissões necessárias que podem ser concedidas por ACL, políticas de bucket ou políticas de usuário.

Operação

Permissão necessária

Iniciação de uma tarefa de carregamento de multiparte

Para executar esta operação, você precisa ter a permissão PutObject.

O proprietário de um bucket pode permitir que os fiduciários executem a operação PutObject.

Carregamento de partes

Para executar esta operação, você precisa ter a permissão PutObject.

Somente o iniciador de um carregamento de multiparte pode carregar partes. O proprietário do bucket deve conceder ao iniciador de carregamento de multiparte a permissão PutObject para que o iniciador possa carregar partes do objeto.

Cópia de partes

Para executar esta operação, você precisa ter a permissão PutObject, bem como a permissão GetObject no objeto a ser copiado.

Somente o iniciador de um carregamento de multiparte pode copiar partes. O proprietário do bucket deve conceder ao iniciador de carregamento de multiparte a permissão PutObject para que o iniciador possa carregar partes do objeto.

Mescla de partes

Para executar esta operação, você precisa ter a permissão PutObject.

Somente o iniciador de um carregamento de multiparte pode mesclar partes. O proprietário do bucket deve conceder ao iniciador de carregamento de multiparte a permissão PutObject para que o iniciador possa concluir o carregamento de multiparte.

Cancelamento de uma tarefa de carregamento de multiparte

Para executar esta operação, você precisa ter a permissão AbortMultipartUpload.

Por padrão, somente o proprietário do bucket e o iniciador de carregamento de multiparte têm essa permissão. Além da configuração padrão, o proprietário do bucket pode permitir que os fiduciários executem essa operação. O proprietário do bucket também pode negar quaisquer fiduciários que estejam executando essa operação.

Listagem de partes carregadas

Para executar esta operação, você precisa ter a permissão ListMultipartUploadParts.

Por padrão, o proprietário do bucket pode listar as partes carregadas de qualquer carregamento de multiparte no bucket. O iniciador de carregamento de multiparte pode listar as partes carregadas de um carregamento de multiparte específico.

Além da configuração padrão, o proprietário do bucket pode permitir que os fiduciários executem essa operação. O proprietário do bucket também pode negar quaisquer fiduciários que estejam executando essa operação.

Listagem de tarefas de carregamento de multiparte

Para listar tarefas de carregamento de multiparte no bucket, você precisa ter a permissão ListBucketMultipartUploads.

Além da configuração padrão, o proprietário do bucket pode permitir que os fiduciários executem essa operação.

As API REST aplicáveis ao carregamento de multiparte

As seções a seguir na Referência de API de Object Storage Service descrevem as API REST relevantes para o carregamento de multiparte.

  • ListBucketMultipartUpload
  • InitiateMultipartUpload
  • UploadPart
  • UploadPart-Copy
  • ListParts
  • CompleteMultipartUpload
  • AbortMultipartUpload

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback