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]
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.
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.
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.