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.
Atualizado em 2022-11-14 GMT+08:00

Construção de uma solicitação

Esta seção descreve a estrutura de uma solicitação de API REST.

URI de solicitação

O OBS usa URI para localizar buckets específicos, objetos e seus parâmetros. Use os URI quando quiser operar recursos.

O seguinte fornece um formato URI comum. Os parâmetros entre colchetes [ ] são opcionais.

protocol://[bucket.]domain[:port][/object][?param]

Tabela 1 Parâmetros URI

Parâmetro

Descrição

Obrigatório

protocol

Protocolo usado para envio de solicitações, que pode ser HTTP ou HTTPS. HTTPS é um protocolo que garante acesso seguro aos recursos. O OBS suporta HTTP e HTTPS.

Sim

bucket

Caminho de recurso de um bucket, identificando apenas um bucket no OBS

Não

domain

Nome de domínio ou endereço IP do servidor para salvar recursos

Sim

port

Porta habilitada para protocolos usados para enviar solicitações. O valor varia com a implantação do servidor de software. Se nenhum número de porta for especificado, o protocolo usará o valor padrão. Cada protocolo de transmissão tem seu número de porta padrão. Por exemplo, HTTP usa o número de porta 80 e o HTTPS usa o número de porta 443 por padrão.

No OBS, o número da porta de HTTP é 80 e o do HTTPS é 443.

Não

object

Um caminho de objeto usado na solicitação

Não

param

Um recurso específico contido por um bucket ou objeto. O valor padrão desse parâmetro indica que o próprio bucket ou objeto é obtido.

Não

Todas as solicitações de API, exceto aquelas para a lista de buckets, devem conter o nome do bucket. Com base no desempenho e na confiabilidade da resolução de DNS, o OBS exige que o nome do bucket seja colocado na frente do domain quando uma solicitação com um nome de bucket for construída para formar um nome de domínio de terceiro nível, também mencionado como nome de domínio de acesso de hospedagem virtual.

Por exemplo, você tem um bucket chamado test-bucket na região cn-north-1 e deseja acessar a ACL de um objeto chamado test-object no bucket. A URL correta é https://test-bucket.obs.ap-southeast-1.myhuaweicloud.com/test-object?acl.

Método de solicitação

Os métodos de HTTP, que também são chamados de operações ou ações, especificam o tipo de operações que você está solicitando.

Tabela 2 Métodos de requisição de HTTP suportados pelo OBS

Método

Descrição

GET

Solicita ao servidor que retorne um recurso específico, por exemplo, uma lista de buckets ou um objeto.

PUT

Solicita que o servidor atualize um recurso específico, por exemplo, criando um bucket ou carregando um objeto.

POST

Solicita que o servidor adicione um recurso ou execute uma operação especial, por exemplo, carregamento de parte ou mesclagem.

DELETE

Solicita que o servidor exclua recursos especificados, por exemplo, um objeto.

HEAD

Solicita que o servidor retorne o resumo de um recurso específico, por exemplo, metadados de objeto.

OPTIONS

O servidor de solicitações verifica se o usuário tem permissão de operação para um recurso. O CORS precisa ser configurado para o bucket.

Cabeçalhos de solicitação

Refere-se a campos de solicitação opcionais e adicionais, por exemplo, um campo requerido por um método de URI ou HTTP específico. Para obter detalhes sobre os campos de cabeçalhos de solicitação comuns, consulte Tabela 3.

Tabela 3 Cabeçalhos de solicitação comuns

Cabeçalho

Descrição

Obrigatório

Authorization

Informações de assinatura contidas em uma mensagem de solicitação

Tipo: string

Nenhum valor padrão.

Condicional: opcional para solicitações anônimas e necessário para outras solicitações.

Condicionalmente necessário

Content-Length

O comprimento da mensagem (excluindo cabeçalhos) definido no RFC 2616

Tipo: string

Nenhum valor padrão.

Condicional: necessário para solicitações PUT e aquelas solicitações que carregam conteúdo XML.

Condicionalmente necessário

Content-Type

O tipo de conteúdo do recurso solicitado, por exemplo, text/plain

Tipo: string

Nenhum valor padrão.

Não

Date

Hora em que uma solicitação é iniciada, por exemplo, Qua, 27 Jul 2018 13:39:15 +0000.

Tipo: string

Nenhum valor padrão.

Condicional: opcional para solicitações anônimas ou aquelas solicitações contendo cabeçalho x-obs-date, necessário para outras solicitações.

Condicionalmente necessário

Host

O endereço do host. Por exemplo, bucketname.obs.region.myhuaweicloud.com.

Tipo: string

Nenhum valor padrão.

Sim

(Opcional) Corpo de solicitação

Um corpo de solicitação geralmente é enviado em um formato estruturado (por exemplo, JSON ou XML). Corresponde a Content-Type no cabeçalho da solicitação e é usado para transferir conteúdo diferente do cabeçalho da solicitação. Se o corpo da solicitação contiver caracteres chineses, esses caracteres devem ser codificados em UTF-8.

O corpo da solicitação varia de acordo com as API. As certas API não exigem o corpo da solicitação, como as API GET e DELETE.

Envio de uma solicitação

Existem dois métodos para iniciar solicitações com base nas mensagens de solicitação construídas:

  • cURL

    cURL é uma ferramenta de linha de comando usada para executar operações de URL e transmitir informações. cURL atua como um cliente HTTP que pode enviar solicitações HTTP para o servidor e receber mensagens de resposta. cURL é aplicável à depuração de API. Para obter mais informações sobre cURL, visite https://curl.haxx.se/. o cURL não pode calcular assinaturas. Quando cURL é usado, somente recursos públicos anônimos do OBS podem ser acessados.

  • Codificação

    Você pode usar o código para fazer chamadas de API e para montar, enviar e processar mensagens de solicitação. Ele pode ser implementado usando o SDK ou codificação.