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

Mescla das partes em um objeto completo

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

Funções

Depois de carregar todas as partes para um carregamento de multiparte, você pode usar esta operação para concluir o carregamento de multiparte. Antes de executar essa operação, você não pode baixar os dados carregados. Ao mesclar partes, você precisa copiar as informações adicionais do cabeçalho da mensagem registradas durante a inicialização da tarefa de carregamento de multiparte para os metadados do objeto. O processo de processamento é o mesmo que o do objeto de carregamento comum com esses cabeçalhos de mensagem. No caso de mesclar partes simultaneamente, a política Last Write Win deve ser seguida, mas o tempo para iniciar Last Write é especificado como o tempo em que um carregamento de multiparte é iniciado.

Se um carregamento de multiparte não tiver sido abortado, as partes carregadas ocuparão sua cota de armazenamento. Depois que todas as partes no carregamento de multiparte forem mescladas em um objeto, somente o objeto ocupará sua cota de armazenamento. Se uma parte carregada em um carregamento de multiparte não for usada em carregamentos de multiparte de mescla, a parte será excluída para liberar a cota de armazenamento.

Você pode enviar uma solicitação para baixar todos ou alguns dados do multiparte gerado especificando um bucket.

Você pode enviar uma solicitação para excluir todas as partes carregadas em um carregamento de multiparte. Os dados excluídos não podem ser restaurados.

As partes mescladas não usam o valor MD5 do objeto inteiro como ETag. Sua ETag é calculada da seguinte forma: MD5(M1M2...MN)-N, onde Mn é o valor MD5 da parte n (N é o número total de partes). Conforme descrito em Solicitação de exemplo, existem três partes e cada parte tem um valor MD5. Os valores MD5 das três partes são recalculados para obter um novo valor MD5. Então -N é adicionado à direita do valor MD5 para obter o ETag das partes combinadas. Neste exemplo, -N é -3.

Se a resposta a uma solicitação de mescla de objetos expirar e o erro 500 ou 503 for retornado, você poderá primeiro obter os metadados do objeto da tarefa de carregamento de multiparte. Em seguida, verifique se o valor do cabeçalho x-obs-carregamentoId na resposta é o mesmo que o ID dessa tarefa de carregamento de multiparte. Se eles forem os mesmos, as partes do objeto foram mescladas com êxito no servidor e você não precisa tentar novamente. Para mais detalhes, consulte Consistência de operações simultâneas.

Controle de versões

Se um bucket tiver o controle de versão habilitado, um ID de versão exclusivo será gerado para um objeto criado a partir de um carregamento de multiparte nesse bucket e o ID de versão será retornado no cabeçalho de resposta x-obs-version-id. Se o versionamento for suspenso para um bucket, a versão do objeto obtida após a mescla será null. Para obter detalhes sobre os status de versionamento de um bucket, consulte Configuração do versionamento para um bucket.

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 combinar as partes, adote a interface usada para listar as partes que foram carregadas para verificar todas as partes para garantir que nenhuma parte seja perdida.

Sintaxe da solicitação

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
POST /ObjectName?uploadId=uploadID HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
Date: date
Content-Length: length
Authorization: authorization
<CompleteMultipartUpload> 
    <Part> 
        <PartNumber>partNum</PartNumber> 
        <ETag>etag</ETag> 
    </Part> 
    <Part> 
        <PartNumber>partNum</PartNumber> 
        <ETag>etag</ETag> 
    </Part> 
    <Part> 
        <PartNumber>partNum</PartNumber> 
        <ETag>etag</ETag> 
    </Part> 
</CompleteMultipartUpload>

Parâmetros de solicitação

Essa solicitação usa parâmetros para especificar o ID de um carregamento de multiparte cujas partes serão mescladas. Tabela 1 descreve os parâmetros.

Tabela 1 Parâmetros de solicitação

Parâmetro

Descrição

Obrigatório

uploadId

Indica um carregamento de multiparte.

Tipo: string

Sim

encoding-type

Codifica a chave na resposta com base no tipo especificado. Se a chave contiver caracteres de controle que não são suportados pelo padrão XML 1.0, você poderá definir o tipo de codificação para codificar a chave em resposta.

Tipo: string

Valor opcional: url

Não

Cabeçalhos de solicitação

Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.

Elementos de solicitação

Esta solicitação utiliza elementos para especificar a lista de partes a serem mescladas. Tabela 2 descreve os elementos.

Tabela 2 Elementos de solicitação

Elemento

Descrição

Obrigatório

CompleteMultipartUpload

Lista de partes a combinar

Tipo: XML

Sim

PartNumber

Número da parte

Tipo: integer

Sim

ETag

Valor de ETag retornado após o carregamento bem-sucedido de uma parte. É o identificador exclusivo do conteúdo da parte. Este parâmetro é utilizado para verificar a consistência dos dados quando as partes são mescladas.

Tipo: string

Sim

Sintaxe da resposta

1
2
3
4
5
6
7
8
9
HTTP/1.1 status_code
Date: date
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<CompleteMultipartUploadResult xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/">
    <Location>http://example-Bucket.obs.region.myhuaweicloud.com/example-Object</Location>
    <Bucket>bucketname</Bucket> 
    <Key>ObjectName</Key> 
    <ETag>ETag</ETag> 
</CompleteMultipartUploadResult>

Cabeçalhos de resposta

A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.

Além da resposta comum cabeçalhos, a seguinte mensagem cabeçalhos também podem ser utilizados. Para mais detalhes, consulte Tabela 3.

Tabela 3 Parâmetros adicionais de cabeçalho de resposta

Cabeçalho

Descrição

x-obs-version-id

Versão do objeto após as partes serem mescladas.

Tipo: string

x-obs-server-side-encryption

Este cabeçalho é incluído em uma resposta se SSE-KMS for usado.

Tipo: string

Exemplo: x-obs-server-side-encryption:kms

x-obs-server-side-encryption-kms-key-id

Indica a ID da chave mestra. Este cabeçalho é incluído em uma resposta se SSE-KMS for usado.

Tipo: string

Formato:regionID:domainID:key/key_id

regionID é o ID da região à qual a chave pertence. domainID é o ID da conta do locatário ao qual a chave pertence. key_id é o ID da chave usado nessa criptografia.

Exemplo: x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0

x-obs-server-side-encryption-customer-algorithm

Indica um algoritmo de encriptação. Este cabeçalho é incluído em uma resposta se SSE-C é usado.

Tipo: string

Exemplo: x-obs-server-side-encryption-customer-algorithm:AES256

Elementos de resposta

Esta resposta usa elementos para retornar o resultado da mescla de partes. Tabela 4 descreve os elementos.

Tabela 4 Elementos de resposta

Elemento

Descrição

Location

URL do objeto após as partes serem mescladas.

Tipo: string

Bucket

Caçamba em que as partes são combinadas

Tipo: string

EncodingType

Tipo de codificação de uma chave de objeto. Se a chave contiver caracteres de controle que não são suportados pelo padrão XML 1.0, você poderá definir o tipo de codificação para codificar a chave em resposta.

Tipo: string

Valor opcional: url

Key

Indica a chave do objeto gerado.

Tipo: string

ETag

O resultado calculado com base na ETag de cada parte é o identificador exclusivo do conteúdo do objeto.

Tipo: string

Respostas de erro

  1. Se não existir nenhum corpo da mensagem, o OBS retorna 400 Bad Request.
  2. Se o formato do corpo da mensagem estiver incorreto, o OBS retornará 400 Bad Request.
  3. Se as informações de parte no corpo da mensagem não forem classificadas por número de sequência de parte, o OBS devolve 400 Bad Request e o código de erro é InvalidPartOrder.
  4. Se a AK ou assinatura for inválida, o OBS retornará 403 Forbidden e o código de erro será AccessDenied.
  5. Se o bucket solicitado não existir, o OBS retornará 404 Not Found e o código de erro será NoSuchBucket.
  6. Se o carregamento de multiparte solicitado não existir, o OBS retornará 404 Not Found e o código de erro será NoSuchUpload.
  7. Se o usuário não for o iniciador da tarefa, o OBS retornará 403 Forbidden e o código de erro será AccessDenied.
  8. Se a lista de partes solicitada contém uma parte que não existe, o OBS retorna 400 Bad Request e o código de erro é InvalidPart.
  9. Se a Etag da parte contida na lista de partes solicitada estiver incorreta, o OBS retornará 400 Bad Request e o código de erro será InvalidPart.
  10. Se o tamanho de uma parte diferente da última parte for menor que 100 KB, o OBS retornará 400 Bad Request.
  11. Se o tamanho do objeto for maior que 48,8 TB após as partes serem mescladas, o OBS retornará o código de status 400 Bad Request.

Outros erros estão incluídos em Tabela 2.

Solicitação de exemplo

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
POST /object02?uploadId=00000163D46218698DF407362295674C HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 05:23:46 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:dOfK9iILcKxo58tRp3fWeDoYzKA=
Content-Length: 422

<?xml version="1.0" encoding="utf-8"?>
<CompleteMultipartUpload> 
  <Part> 
    <PartNumber>1</PartNumber>  
    <ETag>a54357aff0632cce46d942af68356b38</ETag> 
  </Part>  
  <Part> 
    <PartNumber>2</PartNumber>  
    <ETag>0c78aef83f66abc1fa1e8477f296d394</ETag> 
  </Part>  
  <Part> 
    <PartNumber>3</PartNumber>  
    <ETag>acbd18db4cc2f85cedef654fccc4a4d8</ETag> 
  </Part>
</CompleteMultipartUpload>

Resposta de exemplo

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D4625BE3075019BD02B8
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSN8D1AfQcIvyGBZ9+Ee+jU6zv1iYdO4
Content-Type: application/xml
Date: WED, 01 Jul 2015 05:23:46 GMT
Content-Length: 326

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CompleteMultipartUploadResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
  <Location>/examplebucket/object02</Location>
  <Bucket>examplebucket</Bucket>
  <Key>object02</Key>
  <ETag>"03f814825e5a691489b947a2e120b2d3-3"</ETag>
</CompleteMultipartUploadResult>

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