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 2024-10-14 GMT+08:00

Chamada das APIs

Você pode chamar APIs abertas por outras pessoas no APIG.

Diretrizes de uso

  • Uma API pode ser acessada 1.000 vezes usando o nome de domínio de depuração alocado quando o grupo da API é criado.
  • Se o parâmetro CA for exibido na caixa de diálogo Create SSL Certificate na página API Management > API Policies > SSL Certificates do console do APIG, preste atenção às seguintes restrições ao chamar APIs:
    • Ao chamar uma API com HTTP/1.0, não use Transfer-Encoding no cabeçalho da solicitação.
    • Não use o método CONNECT.
    • Não use Content-Length e Transfer-Encoding no cabeçalho da solicitação.
    • Não use espaços ou caracteres de controle na linha de solicitação.
    • Não use espaços ou caracteres de controle no nome do cabeçalho.
    • Não use espaços ou caracteres de controle no cabeçalho da solicitação Host.
    • Não use vários parâmetros Host no cabeçalho da solicitação.

Pré-requisitos

Antes de chamar uma API, certifique-se de que a rede do seu sistema de serviço possa se comunicar com o nome de domínio ou endereço de acesso à API.

  • Se o sistema de serviço e o gateway estiverem na mesma VPC, a API poderá ser acessada diretamente.
  • Se o sistema de serviço e o gateway estiverem em VPCs diferentes de uma região, conecte-os usando uma conexão de emparelhamento. Para obter detalhes, consulte Conexão de emparelhamento da VPC.
  • Se o sistema de serviço e o gateway estiverem em VPCs diferentes de regiões diferentes, crie uma conexão de nuvem e carregue as duas VPCs para conectá-las. Para obter detalhes, consulte Conexão de VPCs em regiões diferentes.
  • Se o sistema de serviço e o gateway estiverem conectados pela rede pública, verifique se o gateway foi vinculado a um EIP.

Obtenção de informações de chamadas de API

Obtenha informações de chamada de API do provedor de API antes de chamar uma API.

  • Obter informações de solicitação de API

    No console do APIG, escolha API Management > APIs. Na página APIs, obtenha o nome de domínio, o método de solicitação e o caminho de solicitação da API desejada. Clique no nome da API para acessar a página da guia APIs e obter as informações básicas nas áreas Frontend Configuration e Backend Configuration.

  • Obter informações de autenticação da API

    Obtenha as informações de autenticação da solicitação de acordo com o modo de autenticação da API.

    Modo de autenticação

    Informações da autenticação

    Aplicação (assinatura)

    Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API, bem como do SDK de assinatura.

    Aplicação (autenticação simples)

    Obtenha o AppCode de uma credencial autorizada para a API do provedor de API.

    Aplicação (dois fatores)

    Obtenha as informações necessárias para a autenticação personalizada e da aplicação.

    Aplicação (app_api_key)

    Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.

    Aplicação (app_secret)

    Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.

    Aplicação (app_basic)

    Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.

    Aplicação (app_jwt)

    Obtenha a chave e o segredo de uma credencial autorizada para a API do provedor de API.

    IAM (token)

    Obtenha o nome de usuário e a senha da plataforma de nuvem.

    IAM (AK/SK)

    Obtenha a AK/SK de uma conta para a plataforma de nuvem e o SDK de assinatura.

    IAM (dois fatores)

    Obtenha as informações necessárias para o IAM e a autenticação personalizada

    Personalizada

    Obtenha as informações de autenticação personalizadas para transportar os parâmetros de solicitação do provedor de API.

    Nenhuma

    Nenhuma informação de autenticação necessária.

    Autorizador de terceiros (política de API)

    Obtenha informações de autorizador de terceiros para transportar parâmetros de solicitação do provedor de API.

    • Chave e segredo da credencial

      No console do APIG, escolha API Management > Credentials. Clique no nome de uma credencial autorizada para a API de destino e obtenha a chave e o segredo na página de detalhes da credencial.

    • SDK de assinatura

      No console do APIG, escolha Help Center > Using SDKs e baixe o SDK da linguagem desejada.

    • AppCode

      No console do APIG, escolha API Management > Credentials. Clique no nome de uma credencial autorizada para a API de destino e obtenha um AppCode na área AppCodes da página de detalhes da credencial.

Chamada de uma API

Esta seção descreve somente a configuração do caminho da solicitação e dos parâmetros de autenticação. Para outros parâmetros, como timeout e SSL, configure-os conforme necessário. Para evitar perdas de serviço devido a parâmetros incorretos, configure-os consultando os padrões da indústria.

  1. Construa uma solicitação de API. Exemplo:
    POST https://{Address}/{Path}?{Query}
    {Header}
    
    {
      {Body}
    }
    • POST: método de solicitação. Substitua-o pelo método de solicitação obtido em Obtenção de informações de chamadas de API.
    • {Address}: endereço de solicitação. Substitua-o pelo nome de domínio obtido em Obtenção de informações de chamadas de API. Você também pode acessar a API usando um endereço IP.

      Cenário

      Configuração de parâmetros de solicitação

      Chamar uma API com um nome de domínio

      Chame uma API usando o nome de domínio de depuração alocado ao grupo de APIs ou um nome de domínio vinculado ao grupo. Nenhuma configuração adicional é necessária.

      Chamar uma API no grupo DEFAULT com um endereço IP

      Chame uma API no grupo DEFAULT com um endereço IP. Nenhuma configuração adicional é necessária.

      Chamar uma API em um grupo personalizado com um endereço IP

      • Para usar um endereço IP para chamar uma API que usa autenticação de aplicação em um grupo que não é DEFAULT,
        1. Defina os parâmetros de configuração app_route e app_secret do gateway como On. Depois que app_route é ativado, uma credencial não pode ser autorizada para APIs que usam o mesmo caminho e método de solicitação.
        2. Adicione os parâmetros de cabeçalho X-HW-ID e X-HW-APPKEY e defina-os como a chave e o segredo de uma credencial autorizada para a API.
      • Para usar um endereço IP para chamar uma API que não usa autenticação de aplicação em um grupo que não é DEFAULT, adicione o parâmetro de cabeçalho host.
    • {Path}: caminho de solicitação. Substitua-o pelo caminho da solicitação obtido em Obtenção de informações de chamadas de API.
    • {Query}: (opcional) cadeia de consulta no formato "Parameter_name=Parameter_value", por exemplo, limit=10. Separe várias cadeias de consulta com E comercial (&). Para obter detalhes, consulte os parâmetros de solicitação obtidos em Obtenção de informações de chamadas de API.
    • {Header}: parâmetro de cabeçalho de solicitação no formato "Parameter_name:Parameter_value", por exemplo, Content-Type:application/json. Para obter detalhes, consulte os parâmetros de solicitação obtidos em Obtenção de informações de chamadas de API.
    • {Body}: corpo da solicitação no formato JSON. Para obter detalhes, consulte a descrição do corpo da solicitação obtida em Obtenção de informações de chamadas de API.
  1. Adicione informações de autenticação à solicitação da API.

    Modo de autenticação

    Configuração de parâmetros de solicitação

    Aplicação (assinatura)

    Use o SDK obtido para assinar a solicitação de API. Para obter detalhes, consulte Chamada de APIs por meio de autenticação de aplicações.

    Aplicação (autenticação simples)

    Adicione o parâmetro de cabeçalho X-Apig-AppCode e defina o valor do parâmetro para o AppCode obtido em Obtenção de informações de chamadas de API. Para obter detalhes, consulte Primeiros passos.

    Aplicação (app_api_key)

    • Para ativar a autenticação app_api_key, certifique-se de que o parâmetro app_api_key tenha sido definido como on na guia Parâmetros do gateway.
    • Adicione o cabeçalho ou a cadeia de consulta apikey e defina o valor do parâmetro para a chave obtida em Obtenção de informações de chamadas de API.

    Aplicação (app_secret)

    Aplicação (app_basic)

    • Para ativar a autenticação app_basic, certifique-se de que o parâmetro app_basic tenha sido definido como on na guia Parâmetros do gateway.
    • Adicione o parâmetro de cabeçalho Authorization à solicitação da API. O valor é "Basic "+base64(appkey+":"+appsecret). appkey e appsecret são a chave e o segredo obtidos em Obtenção de informações de chamadas de API.

    Aplicação (app_jwt)

    • Para ativar a autenticação app_jwt, certifique-se de que o parâmetro app_jwt tenha sido definido como on na guia Parâmetros do gateway.
    • Adicione o parâmetro de cabeçalho Timestamp e defina o valor do parâmetro como o carimbo de data/hora Unix da hora atual em milissegundos.
    • Adicione o parâmetro de cabeçalho Authorization e defina o valor do parâmetro como "SHA-256 (appkey + appsecret + timestamp)", no qual appkey e appsecret são a chave e o segredo obtidos em Obtenção de informações de chamadas de API e timestamp é o carimbo de data/hora do Unix da hora atual em milissegundos. A cadeia de caracteres criptografada usando SHA-256 deve ser letras minúsculas.
    • Adicione o parâmetro de cabeçalho X-HW-ID e defina o valor do parâmetro para a chave obtida em Obtenção de informações de chamadas de API.

    Aplicação (dois fatores)

    Adicione as informações necessárias para a aplicação e a autenticação personalizada à solicitação de API.

    IAM (token)

    Obtenha um token da plataforma de nuvem e adicione o parâmetro de cabeçalho X-Auth-Token com o token como valor. Para obter detalhes, consulte Autenticação de token.

    IAM (AK/SK)

    Use o SDK obtido para assinar a solicitação de API. Para obter detalhes, consulte Autenticação de AK/SK.

    IAM (dois fatores)

    Adicione as informações do IAM e da autenticação personalizada à solicitação de API.

    Personalizada

    Adicione as informações necessárias para autenticação personalizada à solicitação de API.

    Nenhuma

    Nenhuma informação de autenticação necessária.

    Autorizador de terceiros (política de API)

    Obtenha informações de autorizador de terceiros para transportar parâmetros de solicitação do provedor de API.