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.
Central de ajuda/ TaurusDB/ Referência de API/ Chamada das APIs/ Fazer uma solicitação de API
Atualizado em 2025-05-23 GMT+08:00

Fazer uma solicitação de API

Esta seção descreve a estrutura de uma API REST e usa a API do IAM para obtenção de um token de usuário como um exemplo para descrever como chamar uma API. O token obtido é usado para autenticar a chamada de outras APIs.

URI de solicitação

Um URI de solicitação consiste no seguinte:

{URI-scheme}://{Endpoint}/{resource-path}?{query-string}

Embora um URI de solicitação esteja incluído em um cabeçalho de solicitação, a maioria das linguagens de programação ou estruturas exige que o URI de solicitação seja transmitido separadamente, em vez de ser transmitido numa mensagem de solicitação.

Tabela 1 Parâmetros em um URI

Parâmetro

Descrição

URI-scheme

Protocolo usado para transmitir solicitações. Todas as APIs usam HTTPS.

Endpoint

Nome de domínio ou endereço IP do servidor que suporta o serviço REST. O ponto de extremidade varia entre serviços em diferentes regiões. Ele pode ser obtido em Regiões e pontos de extremidade.

Por exemplo, o ponto de extremidade do IAM na região CN North-Beijing1 é iam.cn-north-1.myhuaweicloud.com.

resource-path

Caminho de acesso de uma API para executar uma operação especificada. Obtenha o caminho a partir do URI de uma API. Por exemplo, o resource-path da API usada para obter um token de usuário é /v3/auth/tokens.

query-string

Parâmetro de consulta, que é opcional. Certifique-se de que um ponto de interrogação (?) seja incluído antes de cada parâmetro de consulta que esteja no formato "Nome do parâmetro=valor do parâmetro". Por exemplo, ? limit=10 indica que um máximo de 10 registros de dados serão exibidos.

Por exemplo, para obter um token do IAM na região CN North-Beijing1, obtenha o ponto de extremidade (iam.cn-north-1.myhuaweicloud.com) para essa região e o resource-path (/v3/auth/tokens) no URI da API usada para obter um token de usuário. Em seguida, construa o URI da seguinte forma:

1
https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
Figura 1 Exemplo de URI

Para simplificar a exibição de URI neste documento, cada API é fornecida apenas com um resource-path e um método de solicitação. O URI-scheme de todas as APIs é HTTPS, e os pontos de extremidade de todas as APIs na mesma região são idênticos.

Métodos de solicitação

O protocolo HTTP define os seguintes métodos de solicitação que podem ser usados para enviar uma solicitação ao servidor:
Tabela 2 Métodos de HTTP

Método

Descrição

GET

Solicita ao servidor que retorne os recursos especificados.

PUT

Solicita ao servidor que atualize os recursos especificados.

POST

Solicita ao servidor que adicione recursos ou execute operações especiais.

Por exemplo, no caso da API usada para obter um token de usuário, o método de solicitação é POST. A solicitação é o seguinte:

1
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens

Cabeçalho da solicitação

Você também pode adicionar campos adicionais a uma solicitação, como os campos exigidos por um URI especificado ou um método HTTP. Por exemplo, para solicitar as informações de autenticação, adicione Content-Type, que especifica o tipo de corpo da solicitação.

Tabela 3 lista campos comuns de cabeçalho de solicitação.
Tabela 3 Cabeçalhos de solicitação comuns

Nome

Descrição

Obrigatório

Exemplo

Content-Type

Especifica o tipo MIME do corpo da solicitação. É aconselhável usar o valor padrão application/json. Para as APIs usadas para carregar objetos ou imagens, o valor pode variar dependendo do tipo de fluxo.

Sim

application/json

Host

Especifica as informações do servidor solicitadas, que podem ser obtidas a partir do URL da API de serviço. O valor está no formato hostname[:port] Se o número da porta não for especificado, a porta padrão será usada. O número de porta padrão para https é 443.

Não

Este parâmetro é obrigatório para a autenticação de AK/SK.

code.test.com

or

code.test.com:443

Content-Length

Especifica o comprimento do corpo da solicitação. A unidade é byte.

Não

3495

X-Project-Id

Especifica o ID do projeto. Obtenha o ID do projeto seguindo as instruções em Obtenção de um ID de projeto.

Não

e9993fc787d94b6c886cbaa340f9c0f4

X-Auth-Token

Especifica o token do usuário.

O token de usuário é uma resposta à API usada para obter um token de usuário. Esta API é a única que não requer autenticação.

O valor de X-Subject-Token no cabeçalho da resposta é o valor do token.

Não

Este parâmetro é obrigatório para a autenticação de token.

O seguinte é parte de um exemplo de token:

MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ

X-Language

Tipo de linguagem da solicitação. O valor padrão é en-us.

Valores:

  • en-us
  • zh-cn

Não

en-us

A API usada para obter um token de usuário não requer autenticação. Portanto, apenas o campo Content-Type precisa ser adicionado às solicitações para chamar a API. Um exemplo de tais solicitações é o seguinte:
1
2
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
Content-Type: application/json

(Opcional) Corpo de solicitação

Esta parte é opcional. O corpo de uma solicitação geralmente é enviado em um formato estruturado (por exemplo, JSON ou XML), conforme especificado no campo de cabeçalho Content-Type. Se o corpo da solicitação contiver caracteres de largura total, esses caracteres deverão ser codificados em UTF-8.

O corpo da solicitação varia entre as APIs. Algumas APIs não exigem o corpo da solicitação, como as APIs solicitadas usando os métodos GET e DELETE.

No caso da API usada para obter um token de usuário, os parâmetros da solicitação e a descrição do parâmetro podem ser obtidos da solicitação da API. O seguinte fornece um exemplo de solicitação com um corpo incluído. Substitua username, domainname, ******** (senha de logon) e xxxxxxxxxxxxxxxxxx (nome do projeto, como cn-north-1) por valores reais. Ele pode ser obtido em Regiões e pontos de extremidade.

O parâmetro scope especifica onde um token entra em vigor. Você pode definir scope para uma conta ou um projeto em uma conta. No exemplo a seguir, o token entra em vigor apenas para os recursos de um projeto especificado. Para obter mais informações sobre essa API, consulte Obtenção de um token de usuário.

POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
Content-Type: application/json

{
    "auth": {
        "identity": {
            "methods": [
                "password"
            ],
            "password": {
                "user": {
                    "name": "username",
                    "password": "********",
                    "domain": {
                        "name": "domainname"
                    }
                }
            }
        },
        "scope": {
            "project": {
                "name": "xxxxxxxxxxxxxxxxxx"
            }
        }
    }
}

Se todos os dados necessários para a solicitação da API estiverem disponíveis, você poderá enviar a solicitação para chamar a API por meio de curl, Postman ou codificação. Na resposta à API usada para obter um token de usuário, x-subject-token é o token de usuário desejado. Este token pode ser usado para autenticar a chamada de outras APIs.