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 objetos - POST

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

Características

Carregamento de um objeto significa adicionar um objeto a um bucket. Para executar essa operação, você deve ter a permissão de gravação para o bucket.

O nome de cada objeto em um bucket deve ser exclusivo.

Com o versionamento não ativado, se um objeto a ser carregado tiver o mesmo nome que um objeto existente no bucket, o objeto recém-carregado substituirá o existente. Para proteger os dados de serem corrompidos durante a transmissão, você pode adicionar o parâmetro Content-MD5 no campo de formulário. Depois de receber o pedido, OBS irá realizar uma verificação de consistência MD5. Se os dois valores MD5 forem inconsistentes, o sistema retornará uma mensagem de erro. Você também pode especificar o valor do parâmetro x-obs-acl para configurar uma política de controle de acesso para o objeto.

Você também pode carregar um objeto usando o método POST.

Para um único upload, o tamanho do objeto a ser carregado varia de [0, 5 GB]. Para fazer upload de um arquivo com mais de 5 GB, consulte Operações em carregamento de multiparte.

Esta operação suporta encriptação do lado do servidor.

Diferenças entre os métodos PUT e POST

Os parâmetros são passados pelo cabeçalho da solicitação se o método PUT for usado para carregar objetos; se o método POST for usado para carregar objetos, os parâmetros serão passados pelo campo do formulário no corpo da mensagem.

Com o método PUT, você precisa especificar o nome do objeto no URL, mas o nome do objeto não é necessário com o método POST, que usa o nome de domínio do bucket como o URL. As linhas de solicitação dos dois métodos são as seguintes:

PUT /ObjectName HTTP/1.1
POST / HTTP/1.1

Para obter detalhes sobre o upload do PUT, consulte Carregamento de objetos - PUT.

Controle de versões

Se o controle de versão estiver ativado para um bucket, o sistema gerará automaticamente um ID de versão exclusivo para o objeto solicitado nesse bucket e retornará o ID de versão no cabeçalho de resposta x-obs-version-id. Se o controle de versão for suspenso para um bucket, o ID de versão do objeto solicitado nesse bucket será null. Para obter detalhes sobre os status de versionamento de um bucket, consulte Configuração do versionamento para um bucket.

Sintaxe da solicitação

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
POST / HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
User-Agent: browser_data
Accept: file_types
Accept-Language: Regions
Accept-Encoding: encoding
Accept-Charset: character_set
Keep-Alive: 300 
Connection: keep-alive 
Content-Type: multipart/form-data; boundary=9431149156168 
Content-Length: length


--9431149156168 
Content-Disposition: form-data; name="key" 

acl 
--9431149156168 
Content-Disposition: form-data; name="success_action_redirect"
 
success_redirect 
--9431149156168 
Content-Disposition: form-data; name="content-Type" 

content_type 
--9431149156168 
Content-Disposition: form-data; name="x-obs-meta-uuid" 

uuid 
--9431149156168 
Content-Disposition: form-data; name="x-obs-meta-tag" 

metadata 
--9431149156168 
Content-Disposition: form-data; name="AccessKeyId" 

access-key-id 
--9431149156168 
Content-Disposition: form-data; name="policy" 

encoded_policy 
--9431149156168 
Content-Disposition: form-data; name="signature" 

signature= 
--9431149156168 
Content-Disposition: form-data; name="file"; filename="MyFilename" 
Content-Type: image/jpeg 

file_content 
--9431149156168 
Content-Disposition: form-data; name="submit" 

Upload to OBS 
--9431149156168--

Parâmetros de solicitação

Esta solicitação não contém nenhum parâmetro.

Cabeçalhos de solicitação

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

Se você deseja obter informações de configuração do CORS, deve usar os cabeçalhos em Tabela 1.

Tabela 1 Solicitar cabeçalhos para obter a configuração do CORS

Cabeçalho

Descrição

Obrigatório

Origin

Origem da solicitação de cross-domain especificada pela pré-solicitação. Geralmente, é um nome de domínio.

Tipo: string

Sim

Access-Control-Request-Headers

Indica os cabeçalhos HTTP de uma solicitação. A solicitação pode usar vários cabeçalhos HTTP.

Tipo: string

Não

Se uma mensagem de erro ainda for exibida depois que o CORS tiver sido configurado, retifique a falha consultando Por que um erro é relatado mesmo se o CORS tiver sido configurado?

Elementos de solicitação

Esta solicitação usa elementos de formulário. Tabela 2 descreve os elementos do formulário.

Tabela 2 Elementos do formulário

Parâmetro

Descrição

Obrigatório

file

Indica o conteúdo do objeto a ser carregado.

Tipo: conteúdo binário ou texto

Restrição: Este parâmetro deve ser o último parâmetro em um formulário. Caso contrário, os parâmetros após este parâmetro serão todos descartados. Além disso, cada solicitação contém apenas um parâmetro de arquivo.

Sim

key

Indica o nome do objeto a ser criado.

Tipo: string

Sim

AccessKeyId

Indica a chave de acesso (AK) do solicitante.

Tipo: string

Restrição: Este parâmetro é obrigatório se houver política de parâmetro de policy ou signature na solicitação.

Sim quando a restrição é atendida.

policy

Indica a política de segurança na solicitação. Para obter detalhes sobre o formato da política, consulte o formato da política em Autenticação de assinatura realizada na tabela carregada por meio de um navegador.

Tipo: string

Restrição: Esse parâmetro é obrigatório se o bucket fornecer o AccessKeyId (ou signature).

Sim quando a restrição é atendida.

signature

Indica uma cadeia de caracteres de assinatura calculada com base em StringToSign.

Tipo: string

Restrição: Esse parâmetro é obrigatório se o bucket fornecer o AccessKeyId (ou policy).

Sim quando a restrição é atendida.

token

Especifica a AK, a assinatura e a política de segurança do iniciador da solicitação. A prioridade de um token é maior do que a de um AK especificado, a assinatura da solicitação e a política de segurança do iniciador da solicitação.

Tipo: string

Exemplo:

HTML: <input type= "text" name="token" value="ak:signature:policy" />

Não

x-obs-acl

Ao criar um bucket, você pode adicionar esse cabeçalho para definir a política de controle de permissão para o bucket. As políticas comuns predefinidas são as seguintes: private, public-read, public-read-write, public-read-delivered, e public-read-write-delivered (para detalhes sobre as políticas, veja a configuração ACL usando campos do cabeçalho em ACL).

Tipo: string

Um exemplo é fornecido como segue:

Política: {"acl": "public-read" }

HTML: <input type="text" name="acl" value="public-read" />

Não

x-obs-grant-read

Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para ler objetos e obter metadados de objeto.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: {'grant-read': 'id=domainId1' },

Em HTML: <input type="text" name="grant-read" value="id=domainId1" />

Não

x-obs-grant-read-acp

Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para obter a ACL do objeto.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: {"grant-read-acp": "id=domainId1" },

Em HTML: <input type="text" name="grant-read-acp" value="id=domainId1" />

Não

x-obs-grant-write-acp

Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para gravar a ACL do objeto.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: {"grant-write-acp": "id=domainId1" },

Em HTML: <input type="text" name="grant-write-acp" value="id=domainId1" />

Não

x-obs-grant-full-control

Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para ler o objeto, obter os metadados do objeto, obter a ACL do objeto e gravar a ACL do objeto.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: {"grant-full-control": "id=domainId1" },

Em HTML: <input type="text" name="grant-full-control" value="id=domainId1" />

Não

x-obs-storage-class

Ao criar um objeto, você pode usar esse cabeçalho para especificar a classe de armazenamento do objeto. Se você não usar esse cabeçalho, a classe de armazenamento de objeto será a classe de armazenamento padrão do bucket.

Tipo: string

O OBS fornece três classes de armazenamento: Padrão (STANDARD), Acesso Infrequente (WARM) e Arquivo (COLD). Portanto, os valores para este elemento podem ser STANDARD, WARM, e COLD. Esses valores são sensíveis a maiúsculas e minúsculas.

Um exemplo é fornecido como segue:

Em POLÍTICA: {"storage-class": "STANDARD" },

Em HTML: <input type="text" name="x-obs-storage-class" value="STANDARD" />

Não

Cache-Control,

Content-Type,

Content-Disposition,

Content-Encoding

Expires

Cabeçalhos HTTP padrão. O OBS registra esses cabeçalhos. Se você baixar o objeto ou enviar a solicitação HEAD Object, esses valores de parâmetro serão retornados.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: ["starts-with", "$Content-Type", "text/"],

Em HTML: <input type="text" name="content-type" value="text/plain" />

Não

success_action_redirect

Indica o endereço (URL) para o qual uma solicitação respondida com sucesso é redirecionada.

  • Se o valor for válido e a solicitação for bem-sucedida, o OBS retornará o código de status 303. Location contém success_action_redirect, bem como o nome do bucket, o nome do objeto e o ETag do objeto.
  • Se este parâmetro for inválido, o OBS ignorará este parâmetro. O código de resposta é 204, e o Location é o endereço do objeto.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: {"success_action_redirect": "http://123458.com"},

Em HTML: <input type="text" name="success_action_redirect" value="http://123458.com" />

Não

x-obs-meta-*

Indica metadados definidos pelo usuário. Ao criar um objeto, você pode usar um cabeçalho começando com x-obs-meta- para definir os metadados do objeto em uma solicitação HTTP. Os metadados definidos pelo usuário serão retornados no cabeçalho da resposta quando você recuperar ou consultar os metadados do objeto. Para obter mais informações, consulte Gerenciamento de metadados de objeto.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: {" x-obs-meta-test ": " test metadata " },

Em HTML: <input type="text" name=" x-obs-meta-test " value=" test metadata " />

Não

x-obs-persistent-headers

Ao criar um objeto, você pode adicionar o cabeçalho x-obs-persistent-headers em uma solicitação HTTP para especificar um ou mais cabeçalhos de resposta definidos pelo usuário. Cabeçalhos de resposta definidos pelo usuário serão retornados no cabeçalho de resposta quando você recuperar o objeto ou consultar os metadados do objeto.

Tipo: string

Formato: x-obs-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2)...

Nota: Itens, como key1 e key2, são cabeçalhos definidos pelo usuário. Se eles contiverem caracteres não-ASCII ou irreconhecíveis, eles podem ser codificados usando URL ou Base64. O servidor processa esses cabeçalhos como strings de caracteres, mas não os decodifica. Itens, como value1 e value2 são os valores dos cabeçalhos correspondentes. base64_encode indica que o valor é codificado usando Base64. Um cabeçalho definido pelo usuário e seu valor codificado em Base64 são conectados usando um (:) de dois pontos para formar um par chave-valor. Todos os pares chave-valor são separados com uma vírgula (,) e são colocados no cabeçalho x-obs-persistent-headers. O servidor então decodifica o valor carregado.

Exemplos:

Política: {"x-obs-persistent-headers": "key1:dmFsdWUx,key2:dmFsdWUy" },

HTML: <input type="text" name="x-obs-persistent-headers" value="key1:dmFsdWUx,key2:dmFsdWUy" />

O cabeçalho retornado para baixar o objeto ou obter os metadados do objeto é key1:value1 or key2:value2 respectivamente.

Restrições:

1. Cabeçalhos de resposta definidos pelo usuário especificados dessa maneira não podem ser prefixados com x-obs-, ou seja, você pode usar key1, em vez de x-obs-key1, como o prefixo.

2. O cabeçalho HTTP padrão, por exemplo, host/content-md5/origin/range/Content-Disposition, não pode ser usado.

3. O comprimento total do cabeçalho e dos metadados definidos pelo usuário não pode exceder 8 KB.

4. Se as mesmas chaves forem transferidas, separe os valores com vírgulas (,) e coloque esses valores na mesma chave para retornar.

Não

success_action_status

Indica o código de status retornado após a solicitação ser recebida com êxito. Os valores possíveis são 200, 201, e 204.

  • Se este parâmetro estiver definido como 200 ou 204, o corpo na mensagem de resposta do OBS estará vazio.
  • Se esse parâmetro for definido como 201, a mensagem de resposta do OBS contém um documento XML que descreve a resposta à solicitação.
  • Se o valor não estiver definido ou se estiver definido como um valor inválido, o OBS retornará um documento vazio com um código de status 204.

Tipo: string

Um exemplo é fornecido como segue:

Em POLÍTICA: ["starts-with", "$success_action_status", ""],

Em HTML: <input type="text" name="success_action_status" value="200" />

Não

x-obs-website-redirect-location

Se um bucket estiver configurado com a função de hospedagem de sites estáticos, ele redirecionará as solicitações desse objeto para outro objeto no mesmo bucket ou para um URL externo. O OBS armazena o valor desse cabeçalho nos metadados do objeto.

Não há valor padrão.

Restrição: O valor deve ser prefixado por uma barra (/), http://, ou https://. O comprimento do valor não pode exceder 2 KB.

Não

x-obs-server-side-encryption

Indica que SSE-KMS é usado.

Tipo: string

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

Não. Esse cabeçalho é necessário quando o SSE-KMS é usado.

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

ID da chave mestra. Este cabeçalho é usado no modo SSE-KMS. Se o cliente não fornecer a chave mestra, a chave mestra padrão será usada.

Tipo: string

Os dois formatos a seguir são suportados:

1. regionID:domainID:key/key_id

2. 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 criado em DEW.

Exemplo:

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

2. x-obs-server-side-encryption-kms-key-id:4f1cd4de-ab64-4807-920a-47fc42e7f0d0

Não

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

Algoritmo de encriptação. O cabeçalho é usado no modo SSE-C.

Tipo: string

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

Restrições: Este cabeçalho deve ser usado em conjunto com x-obs-server-side-encryption-customer-key e x-obs-server-side-encryption-customer-key-MD5.

Não. Este cabeçalho é necessário quando SSE-C é usado.

x-obs-server-side-encryption-customer-key

Uma chave usada para criptografar objetos. O cabeçalho é usado no modo SSE-C. Essa chave é usada para criptografar objetos.

Tipo: string

Exemplo: x-obs-server-encryption-side-customer-key:K7QkYpBkM5+hcs27fsNkUnNVaobncnLht/rCB2o/9Cw=

Restrições: Esse cabeçalho é uma chave de 256 bits codificada em base64 e deve ser usado em conjunto com x-obs-server-side-encryption-customer-algorithm e x-obs-server-side-encryption-customer-key-MD5.

Se algum processo é anormal: Este cabeçalho é necessário quando SSE-C é usado.

x-obs-server-side-encryption-customer-key-MD5

Indica o valor MD5 de uma chave usada para criptografar objetos. O cabeçalho é usado no modo SSE-C. O valor MD5 é usado para verificar se ocorre algum erro durante a transmissão da chave.

Tipo: string

Exemplo: x-obs-server-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ==

Restrições: Esse cabeçalho é uma string codificada em Base64 de 128 bits e deve ser usada em conjunto com x-obs-server-side-encryption-customer-algorithm e x-obs-server-side-encryption-customer-key.

Não. Este cabeçalho é necessário quando SSE-C é usado.

x-obs-expires

Indica o tempo de expiração de um objeto, em dias. Um objeto será automaticamente excluído quando expirar (calculado a partir do tempo da última modificação do objeto).

Tipo: inteiro

Exemplo: x-obs-expires:3

Não

Sintaxe da resposta

1
2
3
4
5
HTTP/1.1 status_code
Content-Type: application/xml 
Location: location
Date: date
ETag: etag

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

ID da versão do objeto. Se o controle de versão estiver ativado para o bucket, o número da versão do objeto será retornado. Uma string null será retornada se o bucket que abriga o objeto tiver o versionamento suspenso.

Tipo: string

Access-Control-Allow-Origin

Indica que a origem é incluída na resposta se a origem na solicitação atender aos requisitos de configuração do CORS quando o CORS é configurado para buckets.

Tipo: string

Access-Control-Allow-Headers (Cabeçalhos de Acesso-Controle-Permitir)

Indica que os cabeçalhos serão incluídos na resposta se os cabeçalhos da solicitação atenderem aos requisitos de configuração do CORS quando o CORS for configurado para buckets.

Tipo: string

Access-Control-Max-Age

Indica MaxAgeSeconds na configuração CORS do servidor quando o CORS é configurado para buckets.

Tipo: inteiro

Access-Control-Allow-Methods

Indica que os métodos na regra são incluídos na resposta se Access-Control-Request-Method na solicitação atender aos requisitos de configuração do CORS quando o CORS estiver configurado para buckets.

Tipo: string

Os valores possíveis são GET, PUT, HEAD, POST e DELETE.

Access-Control-Expose-Headers

Indica ExposeHeader na configuração CORS de um servidor quando o CORS é configurado para buckets.

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 encriptação.

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-encryption-customer-algorithm:AES256

x-obs-server-side-encryption-customer-key-MD5

Indica o valor MD5 de uma chave usada para criptografar objetos. Este cabeçalho é incluído em uma resposta se SSE-C é usado.

Tipo: string

Exemplo: x-obs-server-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ==

Elementos de resposta

Esta resposta não envolve elementos.

Respostas de erro

Nenhuma resposta de erro especial é retornada. Para obter detalhes sobre respostas de erro, consulte Tabela 2.

Solicitação de exemplo 1

Carregamento comum de POST

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
POST / HTTP/1.1
Date: WED, 01 Jul 2015 04:15:23 GMT
Host: examplebucket.obs.region.myhuaweicloud.com
Content-Type: multipart/form-data; boundary=7db143f50da2
Content-Length: 2424
Origin: www.example.com
Access-Control-Request-Headers:acc_header_1

--7db143f50da2
Content-Disposition: form-data; name="key"

object01
--7db143f50da2
Content-Disposition: form-data; name="acl"

public-read
--7db143f50da2 
Content-Disposition: form-data; name="content-type"

text/plain
--7db143f50da2
Content-Disposition: form-data; name="expires"

WED, 01 Jul 2015 04:16:15 GMT
--7db143f50da2
Content-Disposition: form-data; name="AccessKeyId"

14RZT432N80TGDF2Y2G2
--7db143f50da2
Content-Disposition: form-data; name="policy"

ew0KICAiZXhwaXJhdGlvbiI6ICIyMDE1LTA3LTAxVDEyOjAwOjAwLjAwMFoiLA0KICAiY29uZGl0aW9ucyI6IFsNCiAgICB7ImJ1Y2tldCI6ICJleG1hcGxlYnVja2V0IiB9LA0KICAgIHsiYWNsIjogInB1YmxpYy1yZWFkIiB9LA0KICAgIHsiRXhwaXJlcyI6ICIxMDAwIiB9LA0KICAgIFsiZXEiLCAiJGtleSIsICJvYmplY3QwMSJdLA0KICAgIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJ0ZXh0LyJdLA0KICBdDQp9DQo=
--7db143f50da2
Content-Disposition: form-data; name="signature"

Vk6rwO0Nq09BLhvNSIYwSJTRQ+k=
--7db143f50da2
Content-Disposition: form-data; name="file"; filename="C:\Testtools\UpLoadFiles\object\1024Bytes.txt"
Content-Type: text/plain

01234567890
--7db143f50da2
Content-Disposition: form-data; name="submit"

Upload
--7db143f50da2--

Resposta de exemplo 1

Depois que o CORS é configurado para um bucket, a resposta contém as informações Access-Control-*.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
HTTP/1.1 204 No Content
x-obs-request-id: 90E2BA00C26C00000133B442A90063FD
x-obs-id-2: OTBFMkJBMDBDMjZDMDAwMDAxMzNCNDQyQTkwMDYzRkRBQUFBQUFBQWJiYmJiYmJi
Access-Control-Allow-Origin: www.example.com
Access-Control-Allow-Methods: POST,GET,HEAD,PUT
Access-Control-Allow-Headers: acc_header_01
Access-Control-Max-Age: 100
Access-Control-Expose-Headers: exp_header_01
Content-Type: text/xml
Location: http://examplebucket.obs.region.myhuaweicloud.com/object01
Date: WED, 01 Jul 2015 04:15:23 GMT
ETag: "ab7abb0da4bca5323ab6119bb5dcd296"

Solicitação de exemplo 2

Carregue um objeto com os x-obs-acl, classe de armazenamento e cabeçalho de redirecionamento transportados na mensagem de solicitação.

Antes da codificação, o conteúdo da política é o seguinte:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
    "expiration":"2018-07-17T04:54:35Z",
    "conditions":[
        {
            "content-type":"text/plain"
        },
        {
            "x-obs-storage-class":"WARM"
        },
        {
            "success_action_redirect":"http://www.example.com"
        },
        {
            "x-obs-acl":"public-read"
        },
        [
            "starts-with",
            "$bucket",
            ""
        ],
        [
            "starts-with",
            "$key",
            ""
        ]
    ]
}

Pedido da amostra:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
POST / HTTP/1.1
Host: examplebucket.obs.region.myhuaweicloud.com
Accept-Encoding: identity
Content-Length: 947
Content-Type: multipart/form-data; boundary=9431149156168
User-Agent: OBS/Test

--9431149156168
Content-Disposition: form-data; name="x-obs-acl"

public-read
--9431149156168
Content-Disposition: form-data; name="AccessKeyId"

H4IPJX0TQTHTHEBQQCEC
--9431149156168
Content-Disposition: form-data; name="key"

my-obs-object-key-demo
--9431149156168
Content-Disposition: form-data; name="signature"

WNwv8P1ZiWdqPQqjXeLmAfzPDAI=
--9431149156168
Content-Disposition: form-data; name="policy"

eyJleHBpcmF0aW9uIjoiMjAxOC0wNy0xN1QwODozNDoyM1oiLCAiY29uZGl0aW9ucyI6W3siY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9LHsieC1vYnMtYWNsIjoicHVibGljLXJlYWQifSxbInN0YXJ0cy13aXRoIiwgIiRidWNrZXQiLCAiIl0sWyJzdGFydHMtd2l0aCIsICIka2V5IiwgIiJdXX0=
--9431149156168
Content-Disposition: form-data; name="content-type"

text/plain
--9431149156168
Content-Disposition: form-data; name="file"; filename="myfile"
Content-Type: text/plain

c2c6cd0f-898e-11e8-aab6-e567c91fb541
52b8e8a0-8481-4696-96f3-910635215a78

--9431149156168--

Resposta de exemplo 2

1
2
3
4
5
6
7
HTTP/1.1 204 No Content
Server: OBS
Location: http://examplebucket.obs.region.myhuaweicloud.com/my-obs-object-key-demo
ETag: "17a83fc8d431273405bd266114b7e034"
x-obs-request-id: 5DEB00000164A728A7C7F4E032214CFA
x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCSwj2PcBE0YcoLHUDO7GSj+rVByzjflA
Date: Tue, 17 Jul 2018 07:33:36 GMT

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