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 2023-05-29 GMT+08:00

Modificação de uma API

Função

Esta API é usada para modificar as informações sobre uma API, incluindo suas informações de back-end.

URI

PUT /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obter detalhes sobre como obter um ID de projeto, consulte "Apêndice" > "Obtenção de um ID de projeto" neste documento.

instance_id

Sim

String

ID do gateway, que pode ser obtido a partir das informações de gateway no console do APIG.

api_id

Sim

String

ID da API.

Parâmetros de solicitação

Tabela 2 Parâmetros do cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

X-Auth-Token

Sim

String

Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token.

Tabela 3 Parâmetros de corpo de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome da API.

Pode conter de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

type

Sim

Integer

Tipo de API.

  • 1: API pública

  • 2: API privada

Valores de enumeração:

  • 1

  • 2

version

Não

String

Versão da API.

Máximo: 16

req_protocol

Sim

String

Protocolo de solicitação.

  • HTTP

  • HTTPS

  • BOTH: a API pode ser acessada através de HTTP e HTTPS.

Padrão: HTTPS

Valores de enumeração:

  • HTTP

  • HTTPS

  • BOTH

req_method

Sim

String

Método de solicitação.

Valores de enumeração:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

Sim

String

Endereço de solicitação. Ele pode conter parâmetros de solicitação entre colchetes ({}). Por exemplo, /getUserInfo/{userId}. Caracteres especiais, como asteriscos (*), sinais de porcentagem (%), hifens (-) e sublinhados (_), são permitidos. Pode conter um máximo de 512 caracteres e deve estar em conformidade com as especificações de URI.> O valor deve estar em conformidade com as especificações de URI.

auth_type

Sim

String

Modo de autenticação da API.

  • NONE

  • APP

  • IAM

  • AUTHORIZER

Valores de enumeração:

  • NONE

  • APP

  • IAM

  • AUTHORIZER

auth_opt

Não

AuthOpt object

Parâmetro de autenticação de segurança.

cors

Não

Boolean

Indica se o CORS é suportado.

  • TRUE: suportado

  • FALSE: não suportado

Padrão: false

Valores de enumeração:

  • true

  • false

match_mode

Não

String

Modo de correspondência de rota.

  • SWA: correspondência de prefixo

  • NORMAL: correspondência exata

O valor padrão é NORMAL.

Valores de enumeração:

  • SWA

  • NORMAL

backend_type

Sim

String

Tipo de back-end.

  • HTTP: back-end da Web

  • FUNCTION: back-end do FunctionGraph

  • MOCK: back-end fictício

Valores de enumeração:

  • HTTP

  • FUNCTION

  • MOCK

remark

Não

String

Descrição da API. Não pode exceder 255 caracteres.

group_id

Sim

String

ID do grupo de APIs ao qual a API pertence.

body_remark

Não

String

Corpo de solicitação da API, que pode ser um exemplo de corpo de solicitação, tipo de mídia ou parâmetros. Certifique-se de que o corpo da solicitação não exceda os caracteres 20.480.

result_normal_sample

Não

String

Exemplo de resposta para uma solicitação bem-sucedida. O valor não pode exceder 20.480 caracteres.

result_failure_sample

Não

String

Exemplo de resposta para uma solicitação com falha O valor não pode exceder 20.480 caracteres.

authorizer_id

Não

String

ID do autorizador personalizado do front-end.

tags

Não

Array of strings

Tags.

O valor pode conter apenas letras, dígitos e sublinhados (_), e deve começar com uma letra. Você pode inserir várias tags e separá-las com vírgulas (,).

Mínimo: 1

Máximo: 128

response_id

Não

String

ID de resposta do grupo.

roma_app_id

Não

String

ID da aplicação de integração.

Atualmente, este parâmetro não é suportado.

domain_name

Não

String

Nome de domínio personalizado vinculado à API.

Atualmente, este parâmetro não é suportado.

tag

Não

String

Tag.

Este campo será depreciado. Você pode usar o campo de tags em vez disso.

content_type

Não

String

Tipo de conteúdo de solicitação:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

Atualmente, este parâmetro não é suportado.

Valores de enumeração:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

mock_info

Não

ApiMockCreate object

Detalhes do back-end fictício.

func_info

Não

ApiFuncCreate object

Detalhes do back-end do FunctionGraph.

req_params

Não

Array of ReqParamBase objects

Parâmetros de solicitação.

backend_params

Não

Array of BackendParamBase objects

Parâmetros de back-end.

policy_mocks

Não

Array of ApiPolicyMockCreate objects

Políticas de back-end de fictício.

policy_functions

Não

Array of ApiPolicyFunctionCreate objects

Políticas de back-end do FunctionGraph.

backend_api

Não

BackendApiCreate object

Detalhes do back-end da Web.

policy_https

Não

Array of ApiPolicyHttpCreate objects

Políticas de back-end da Web.

Tabela 4 AuthOpt

Parâmetro

Obrigatório

Tipo

Descrição

app_code_auth_type

Não

String

Indica se a autenticação de AppCode está habilitada. Este parâmetro é válido somente se auth_type for definido como App. O valor padrão é DISABLE.

  • DISABLE: a autenticação do AppCode está desabilitada.

  • HEADER: a autenticação do AppCode está habilitada e o AppCode está localizado no cabeçalho.

Padrão: DISABLE

Valores de enumeração:

  • DISABLE

  • HEADER

Tabela 5 ApiMockCreate

Parâmetro

Obrigatório

Tipo

Descrição

remark

Não

String

Descrição. Não pode exceder 255 caracteres.

result_content

Não

String

Respostas.

version

Não

String

Versão da função. Não pode exceder 64 caracteres.

authorizer_id

Não

String

ID de autorizador personalizado de back-end.

Tabela 6 ApiFuncCreate

Parâmetro

Obrigatório

Tipo

Descrição

function_urn

Sim

String

Função URN.

remark

Não

String

Descrição. Não pode exceder 255 caracteres.

invocation_type

Sim

String

Modo de invocação.

  • async: assíncrono

  • sync: síncrono

Valores de enumeração:

  • async

  • sync

network_type

Sim

String

Arquitetura de rede de função.

  • V1: não VPC

  • V2: VPC

Valores de enumeração:

  • V1

  • V2

version

Não

String

Versão da função.

Se um alias de função URN e versão forem passados, apenas o alias URN será usado.

Máximo: 64

alias_urn

Não

String

Alias de função URN.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

timeout

Sim

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

authorizer_id

Não

String

ID de autorizador personalizado de back-end.

Tabela 7 ReqParamBase

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome do parâmetro.

O nome do parâmetro pode conter de 1 a 32 caracteres e deve começar com uma letra. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos.

type

Sim

String

Tipo de parâmetro.

Valores de enumeração:

  • STRING

  • NUMBER

location

Sim

String

Localização do parâmetro.

Valores de enumeração:

  • PATH

  • QUERY

  • HEADER

default_value

Não

String

Valor padrão.

sample_value

Não

String

Exemplo de valor.

required

Não

Integer

Indica se o parâmetro é obrigatório. 1: sim 2: não

O valor desse parâmetro é 1 se Localização for definido como PATH e 2 se Localização for definido como outro valor.

Valores de enumeração:

  • 1

  • 2

valid_enable

Não

Integer

Indica se a verificação de validade está habilitada.

  • 1: habilitada

  • 2: desabilitada

Padrão: 2

Valores de enumeração:

  • 1

  • 2

remark

Não

String

Descrição. Não pode exceder 255 caracteres.

enumerations

Não

String

Valor enumerado.

min_num

Não

Integer

Valor mínimo.

Este parâmetro é válido quando tipo é definido como NUMBER.

max_num

Não

Integer

Valor máximo.

Este parâmetro é válido quando tipo é definido como NUMBER.

min_size

Não

Integer

Comprimento mínimo.

Este parâmetro é válido quando tipo é definido como STRING.

max_size

Não

Integer

Comprimento máximo.

Este parâmetro é válido quando tipo é definido como STRING.

regular

Não

String

Regra de validação de expressão regular.

Atualmente, este parâmetro não é suportado.

json_schema

Não

String

Regra de validação JSON.

Atualmente, este parâmetro não é suportado.

pass_through

Não

Integer

Indica se o parâmetro deve ser transferido de forma transparente. 1: sim 2: não

Valores de enumeração:

  • 1

  • 2

Tabela 8 ApiPolicyMockCreate

Parâmetro

Obrigatório

Tipo

Descrição

result_content

Não

String

Respostas.

effect_mode

Sim

String

Modo efetivo da política de back-end.

  • ALL: todas as condições são atendidas.

  • ANY: qualquer condição é atendida.

Valores de enumeração:

  • ALL

  • ANY

name

Sim

String

Nome do back-end. Ele deve começar com uma letra e pode conter letras, dígitos e sublinhados (_).

Mínimo: 3

Máximo: 64

backend_params

Não

Array of BackendParamBase objects

Parâmetros de back-end.

conditions

Sim

Array of ApiConditionBase objects

Condições de políticas.

authorizer_id

Não

String

ID de autorizador personalizado de back-end.

Tabela 9 ApiPolicyFunctionCreate

Parâmetro

Obrigatório

Tipo

Descrição

function_urn

Sim

String

Função URN.

invocation_type

Sim

String

Modo de invocação.

  • async: assíncrono

  • sync: síncrono

Valores de enumeração:

  • async

  • sync

network_type

Sim

String

Arquitetura de rede de função.

  • V1: não VPC

  • V2: VPC

Valores de enumeração:

  • V1

  • V2

version

Não

String

Versão da função.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

Máximo: 64

alias_urn

Não

String

Alias de função URN.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

timeout

Não

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

effect_mode

Sim

String

Modo efetivo da política de back-end.

  • ALL: todas as condições são atendidas.

  • ANY: qualquer condição é atendida.

Valores de enumeração:

  • ALL

  • ANY

name

Sim

String

Nome do back-end. Ele deve começar com uma letra e pode conter letras, dígitos e sublinhados (_).

Mínimo: 3

Máximo: 64

backend_params

Não

Array of BackendParamBase objects

Parâmetros de back-end.

conditions

Sim

Array of ApiConditionBase objects

Condições de políticas.

authorizer_id

Não

String

ID de autorizador personalizado de back-end.

Tabela 10 BackendApiCreate

Parâmetro

Obrigatório

Tipo

Descrição

authorizer_id

Não

String

ID de autorizador personalizado de back-end.

url_domain

Não

String

Endereço de serviço de back-end. Pode consistir em um nome de domínio ou endereço IP e um número de porta, com não mais de 255 caracteres. Deve estar no formato "Nome do host: número da porta", por exemplo, apig.example.com: 7443. Se o número da porta não for especificado, a porta HTTPS padrão 443 ou a porta HTTP padrão 80 será usada. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Apenas letras, números, hifens (-) e sublinhados (_) são permitidos.

req_protocol

Sim

String

Protocolo de solicitação.

Valores de enumeração:

  • HTTP

  • HTTPS

remark

Não

String

Descrição. Não pode exceder 255 caracteres.

req_method

Sim

String

Método de solicitação.

Valores de enumeração:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

version

Não

String

Versão de back-end da Web, que pode conter no máximo 16 caracteres.

req_uri

Sim

String

Solicitar endereço. Ele pode conter parâmetros de solicitação entre colchetes ({}). Por exemplo, /getUserInfo/{userId}. Caracteres especiais, como asteriscos (*), sinais de porcentagem (%), hífens (-) e sublinhados (), são permitidos. Ele pode conter um máximo de 512 caracteres e deve estar em conformidade com as especificações de URI. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados () são permitidos.> O valor deve estar de acordo com as especificações de URI.

timeout

Sim

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

enable_client_ssl

Não

Boolean

Indica se a autenticação bidirecional deve ser ativada.

retry_count

Não

String

Número de tentativas de nova tentativa para solicitar o serviço de back-end. O valor padrão é -1. O valor varia de -1 a 10.

Padrão: -1

vpc_channel_info

Não

ApiBackendVpcReq object

Detalhes do canal da VPC. Este parâmetro é necessário se vpc_channel_status estiver definido como 1.

vpc_channel_status

Não

Integer

Indica se deve usar um canal da VPC.

  • 1: um canal da VPC é usado.

  • 2: nenhum canal da VPC é usado.

Valores de enumeração:

  • 1

  • 2

Tabela 11 ApiPolicyHttpCreate

Parâmetro

Obrigatório

Tipo

Descrição

url_domain

Não

String

Ponto de extremidade do back-end da política. Ele pode consistir em um nome de domínio ou endereço IP e um número de porta, com não mais de 255 caracteres. Deve estar no formato "Nome do domínio: número da porta", por exemplo, apig.example.com: 7443. Se o número da porta não for especificado, a porta HTTPS padrão 443 ou a porta HTTP padrão 80 será usada. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Apenas letras, números, hifens (-) e sublinhados (_) são permitidos.

req_protocol

Sim

String

Protocolo de solicitação. O valor pode ser HTTP ou HTTPS.

Valores de enumeração:

  • HTTP

  • HTTPS

req_method

Sim

String

Método de solicitação. Opções: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY.

Valores de enumeração:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

Sim

String

Solicitar endereço. Ele pode conter parâmetros de solicitação entre colchetes ({}). Por exemplo, /getUserInfo/{userId}. Caracteres especiais, como asteriscos (*), sinais de porcentagem (%), hífens (-) e sublinhados (), são permitidos. Ele pode conter um máximo de 512 caracteres e deve estar em conformidade com as especificações de URI. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados () são permitidos.> O valor deve estar de acordo com as especificações de URI.

timeout

Não

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

retry_count

Não

String

Número de tentativas de nova tentativa para solicitar o serviço de back-end. O valor padrão é -1. O valor varia de -1 a 10.

Padrão: -1

effect_mode

Sim

String

Modo efetivo da política de back-end.

  • ALL: todas as condições são atendidas.

  • ANY: qualquer condição é atendida.

Valores de enumeração:

  • ALL

  • ANY

name

Sim

String

Nome do back-end. Ele deve começar com uma letra e pode conter letras, dígitos e sublinhados (_).

Mínimo: 3

Máximo: 64

backend_params

Não

Array of BackendParamBase objects

Parâmetros de back-end.

conditions

Sim

Array of ApiConditionBase objects

Condições de políticas.

authorizer_id

Não

String

ID de autorizador personalizado de back-end.

vpc_channel_info

Não

ApiBackendVpcReq object

Detalhes do canal da VPC. Este parâmetro é necessário se vpc_channel_status estiver definido como 1.

vpc_channel_status

Não

Integer

Indica se deve usar um canal da VPC.

  • 1: um canal da VPC é usado.

  • 2: nenhum canal da VPC é usado.

Valores de enumeração:

  • 1

  • 2

Tabela 12 BackendParamBase

Parâmetro

Obrigatório

Tipo

Descrição

origin

Sim

String

Tipo de parâmetro.

  • REQUEST: parâmetro back-end

  • CONSTANT: parâmetro constante

  • SYSTEM: parâmetro do sistema

Valores de enumeração:

  • REQUEST

  • CONSTANT

  • SYSTEM

name

Sim

String

Nome do parâmetro.

O nome do parâmetro deve começar com uma letra e só pode conter letras, dígitos, hifens (-) sublinhados (_), e pontos (.).

Mínimo: 1

Máximo: 32

remark

Não

String

Descrição, que pode conter no máximo 255 caracteres.

location

Sim

String

Localização do parâmetro. O valor pode ser PATH, QUERY ou HEADER.

Valores de enumeração:

  • PATH

  • QUERY

  • HEADER

value

Sim

String

Valor do parâmetro, que pode conter no máximo 255 caracteres.

Se o tipo de origem estiver REQUEST, o valor deste parâmetro será o nome do parâmetro em req_params.

Se o tipo de origem estiver CONSTANT, o valor é uma constante.

Se o tipo de origem estiver SYSTEM, o valor é um nome de parâmetro do sistema. Os parâmetros do sistema incluem parâmetros de gateway, parâmetros de autenticação de front-end e parâmetros de autenticação de back-end. Você pode definir os parâmetros de autenticação de front-end ou back-end depois de ativar a autenticação personalizada de front-end ou back-end.

Os parâmetros de gateway são os seguintes:

  • $context.sourceIp: endereço IP de origem do chamador da API.

  • $context.stage: ambiente de implementação no qual a API é chamada.

  • $context.apiId: ID da API.

  • $context.appId: ID da aplicação usada pelo chamador da API.

  • $context.requestId: ID da solicitação gerada quando a API é chamada.

  • $context.serverAddr: endereço do servidor de gateway.

  • $context.serverName: nome do servidor de gateway.

  • $context.handleTime: hora em que a solicitação da API é processada.

  • $context.providerAppId: ID da aplicação usada pelo proprietário da API. Este parâmetro não é suportado atualmente.

Parâmetro de autenticação fron-tend: prefixado com "$context.authorizer.frontend.". Por exemplo, para retornar "aaa" após uma autenticação personalizada bem-sucedida, defina este parâmetro como "$context.authorizer.frontend.aaa".

Parâmetro de autenticação de back-end: prefixado com "$context.authorizer.backend.". Por exemplo, para retornar "aaa" após uma autenticação personalizada bem-sucedida, defina esse parâmetro como "$context.authorizer.backend.aaa".

Tabela 13 ApiConditionBase

Parâmetro

Obrigatório

Tipo

Descrição

req_param_name

Não

String

Nome do parâmetro de entrada. Este parâmetro é necessário se o tipo de política for param.

condition_type

Não

String

Condição de política.

  • exact: correspondência exata

  • enum: enumeração

  • pattern: expressão regular

Este parâmetro é necessário se o tipo de política for param.

Valores de enumeração:

  • exact

  • enum

  • pattern

condition_origin

Sim

String

Tipo de política.

  • param: parâmetro de entrada

  • source: endereço IP de origem

Valores de enumeração:

  • param

  • source

condition_value

Sim

String

Valor da condição.

Tabela 14 ApiBackendVpcReq

Parâmetro

Obrigatório

Tipo

Descrição

vpc_channel_proxy_host

Não

String

Host do proxy.

vpc_channel_id

Sim

String

ID do canal da VPC.

Parâmetros de resposta

Código de status: 200

Tabela 15 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

name

String

Nome da API.

Pode conter de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

type

Integer

Tipo de API.

  • 1: API pública

  • 2: API privada

Valores de enumeração:

  • 1

  • 2

version

String

Versão da API.

Máximo: 16

req_protocol

String

Protocolo de solicitação.

  • HTTP

  • HTTPS

  • BOTH: a API pode ser acessada através de HTTP e HTTPS.

Padrão: HTTPS

Valores de enumeração:

  • HTTP

  • HTTPS

  • BOTH

req_method

String

Método de solicitação.

Valores de enumeração:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

String

Solicitar endereço. Ele pode conter parâmetros de solicitação entre colchetes ({}). Por exemplo, /getUserInfo/{userId}. Caracteres especiais, como asteriscos (*), sinais de porcentagem (%), hifens (-) e sublinhados (_), são permitidos. Pode conter um máximo de 512 caracteres e deve estar em conformidade com as especificações de URI.> O valor deve estar em conformidade com as especificações de URI.

auth_type

String

Modo de autenticação da API.

  • NONE

  • APP

  • IAM

  • AUTHORIZER

Valores de enumeração:

  • NONE

  • APP

  • IAM

  • AUTHORIZER

auth_opt

AuthOpt object

Parâmetro de autenticação de segurança.

cors

Boolean

Indica se o CORS é suportado.

  • TRUE: suportado

  • FALSE: não suportado

Padrão: false

Valores de enumeração:

  • true

  • false

match_mode

String

Modo de correspondência de rota.

  • SWA: correspondência de prefixo

  • NORMAL: correspondência exata

O valor padrão é NORMAL.

Valores de enumeração:

  • SWA

  • NORMAL

backend_type

String

Tipo de back-end.

  • HTTP: back-end da Web

  • FUNCTION: back-end do FunctionGraph

  • MOCK: back-end fictício

Valores de enumeração:

  • HTTP

  • FUNCTION

  • MOCK

remark

String

Descrição da API. Não pode exceder 255 caracteres.

group_id

String

ID do grupo de APIs ao qual a API pertence.

body_remark

String

Corpo de solicitação da API, que pode ser um exemplo de corpo de solicitação, tipo de mídia ou parâmetros. Certifique-se de que o corpo da solicitação não exceda os caracteres 20.480.

result_normal_sample

String

Exemplo de resposta para uma solicitação bem-sucedida. O valor não pode exceder 20.480 caracteres.

result_failure_sample

String

Exemplo de resposta para uma solicitação com falha O valor não pode exceder 20.480 caracteres.

authorizer_id

String

ID do autorizador personalizado do front-end.

tags

Array of strings

Tags.

O valor pode conter apenas letras, dígitos e sublinhados (_), e deve começar com uma letra. Você pode inserir várias tags e separá-las com vírgulas (,).

Mínimo: 1

Máximo: 128

response_id

String

ID de resposta do grupo.

roma_app_id

String

ID da aplicação de integração.

Atualmente, este parâmetro não é suportado.

domain_name

String

Nome de domínio personalizado vinculado à API.

Atualmente, este parâmetro não é suportado.

tag

String

Tag.

Este campo será depreciado. Você pode usar o campo de tags em vez disso.

content_type

String

Tipo de conteúdo de solicitação:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

Atualmente, este parâmetro não é suportado.

Valores de enumeração:

  • application/json

  • application/xml

  • multipart/form-date

  • text/plain

id

String

ID da API.

status

Integer

Status de aplicação.

  • 1: válido

arrange_necessary

Integer

Indica se a orquestração deve ser ativada.

register_time

String

Hora em que a API é registrada.

update_time

String

Hora em que a API foi modificada pela última vez.

group_name

String

Nome do grupo de APIs ao qual a API pertence.

group_version

String

Versão do grupo de APIs ao qual a API pertence.

O valor padrão é V1. Outras versões não são suportadas.

Padrão: V1

run_env_id

String

ID do ambiente no qual a API foi publicada.

Separe vários IDs de ambiente com barras verticais (|).

run_env_name

String

Nome do ambiente no qual a API foi publicada.

Separar vários nomes de ambiente com barras verticais (|).

publish_id

String

ID do registro da publicação.

Separe vários IDs de registro de publicação com barras verticais (|).

publish_time

String

Tempo de publicação.

Separe o tempo de vários registros de publicação com barras verticais (|).

roma_app_name

String

Nome da aplicação de integração ao qual a API pertence.

Atualmente, este parâmetro não é suportado.

ld_api_id

String

ID da API de back-end personalizada correspondente.

Atualmente, este parâmetro não é suportado.

backend_api

BackendApi object

Detalhes do back-end da Web.

api_group_info

ApiGroupCommonInfo object

Informações do grupo de APIs.

func_info

ApiFunc object

Detalhes do back-end do FunctionGraph.

mock_info

ApiMock object

Detalhes do back-end fictício.

req_params

Array of ReqParam objects

Parâmetros de solicitação.

backend_params

Array of BackendParam objects

Parâmetros de back-end.

policy_functions

Array of ApiPolicyFunctionResp objects

Políticas de back-end do FunctionGraph.

policy_mocks

Array of ApiPolicyMockResp objects

Políticas de back-end de fictício.

policy_https

Array of ApiPolicyHttpResp objects

Políticas de back-end da Web.

Tabela 16 AuthOpt

Parâmetro

Tipo

Descrição

app_code_auth_type

String

Indica se a autenticação de AppCode está habilitada. Este parâmetro é válido somente se auth_type for definido como App. O valor padrão é DISABLE.

  • DISABLE: a autenticação do AppCode está desabilitada.

  • HEADER: a autenticação do AppCode está habilitada e o AppCode está localizado no cabeçalho.

Padrão: DISABLE

Valores de enumeração:

  • DISABLE

  • HEADER

Tabela 17 BackendApi

Parâmetro

Tipo

Descrição

authorizer_id

String

ID de autorizador personalizado de back-end.

url_domain

String

Endereço de serviço de back-end. Pode consistir em um nome de domínio ou endereço IP e um número de porta, com não mais de 255 caracteres. Deve estar no formato "Nome do host: número da porta", por exemplo, apig.example.com: 7443. Se o número da porta não for especificado, a porta HTTPS padrão 443 ou a porta HTTP padrão 80 será usada. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Apenas letras, números, hifens (-) e sublinhados (_) são permitidos.

req_protocol

String

Protocolo de solicitação.

Valores de enumeração:

  • HTTP

  • HTTPS

remark

String

Descrição. Não pode exceder 255 caracteres.

req_method

String

Método de solicitação.

Valores de enumeração:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

version

String

Versão de back-end da Web, que pode conter no máximo 16 caracteres.

req_uri

String

Solicitar endereço. Ele pode conter parâmetros de solicitação entre colchetes ({}). Por exemplo, /getUserInfo/{userId}. Caracteres especiais, como asteriscos (*), sinais de porcentagem (%), hífens (-) e sublinhados (), são permitidos. Ele pode conter um máximo de 512 caracteres e deve estar em conformidade com as especificações de URI. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados () são permitidos.> O valor deve estar de acordo com as especificações de URI.

timeout

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

enable_client_ssl

Boolean

Indica se a autenticação bidirecional deve ser ativada.

retry_count

String

Número de tentativas de nova tentativa para solicitar o serviço de back-end. O valor padrão é -1. O valor varia de -1 a 10.

Padrão: -1

id

String

ID.

status

Integer

Status do serviço de back-end.

  • 1: válido

register_time

String

Tempo de registro.

update_time

String

Hora da atualização.

vpc_channel_info

VpcInfo object

Detalhes do canal da VPC. Este parâmetro é necessário se vpc_channel_status estiver definido como 1.

vpc_channel_status

Integer

Indica se deve usar um canal da VPC.

  • 1: um canal da VPC é usado.

  • 2: nenhum canal da VPC é usado.

Tabela 18 ApiGroupCommonInfo

Parâmetro

Tipo

Descrição

id

String

ID.

name

String

Nome do grupo de APIs.

status

Integer

Status.

  • 1: válido

Valores de enumeração:

  • 1

sl_domain

String

Nome do subdomínio que o APIG aloca automaticamente ao grupo da API.

register_time

String

Tempo de criação.

update_time

String

Hora da última modificação.

on_sell_status

Integer

Indica se o grupo de APIs foi listado no KooGallery.

  • 1: listado

  • 2: não listado

  • 3: em revisão

url_domains

Array of UrlDomain objects

Nomes de domínio independentes vinculados ao grupo de APIs.

Tabela 19 UrlDomain

Parâmetro

Tipo

Descrição

id

String

ID do domínio.

domain

String

Nome de domínio.

cname_status

Integer

Status de resolução CNAME do nome de domínio.

  • 1: não resolvido

  • 2: resolvendo

  • 3: resolvido

  • 4: resolução falhou

ssl_id

String

ID do certificado SSL.

ssl_name

String

Nome do certificado SSL.

min_ssl_version

String

Versão SSL mínima. TLS 1.1 e TLS 1.2 são suportados.

Padrão: TLSv1.1

Valores de enumeração:

  • TLSv1.1

  • TLSv1.2

Tabela 20 ApiFunc

Parâmetro

Tipo

Descrição

function_urn

String

Função URN.

remark

String

Descrição. Não pode exceder 255 caracteres.

invocation_type

String

Modo de invocação.

  • async: assíncrono

  • sync: síncrono

Valores de enumeração:

  • async

  • sync

network_type

String

Arquitetura de rede de função.

  • V1: não VPC

  • V2: VPC

Valores de enumeração:

  • V1

  • V2

version

String

Versão da função.

Se um alias de função URN e versão forem passados, apenas o alias URN será usado.

Máximo: 64

alias_urn

String

Alias de função URN.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

timeout

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

authorizer_id

String

ID de autorizador personalizado de back-end.

id

String

ID.

register_time

String

Tempo de registro.

status

Integer

Status do serviço de back-end.

  • 1: válido

update_time

String

Hora da atualização.

Tabela 21 ApiMock

Parâmetro

Tipo

Descrição

remark

String

Descrição. Não pode exceder 255 caracteres.

result_content

String

Respostas.

version

String

Versão da função. Não pode exceder 64 caracteres.

authorizer_id

String

ID de autorizador personalizado de back-end.

id

String

ID.

register_time

String

Tempo de registro.

status

Integer

Status do serviço de back-end.

  • 1: válido

update_time

String

Hora da atualização.

Tabela 22 ReqParam

Parâmetro

Tipo

Descrição

name

String

Nome do parâmetro.

O nome do parâmetro pode conter de 1 a 32 caracteres e deve começar com uma letra. Apenas letras, dígitos, hifens (-), sublinhados (_) e pontos (.) são permitidos.

type

String

Tipo de parâmetro.

Valores de enumeração:

  • STRING

  • NUMBER

location

String

Localização do parâmetro.

Valores de enumeração:

  • PATH

  • QUERY

  • HEADER

default_value

String

Valor padrão.

sample_value

String

Exemplo de valor.

required

Integer

Indica se o parâmetro é obrigatório. 1: sim 2: não

O valor desse parâmetro é 1 se Localização for definido como PATH e 2 se Localização for definido como outro valor.

Valores de enumeração:

  • 1

  • 2

valid_enable

Integer

Indica se a verificação de validade está habilitada.

  • 1: habilitada

  • 2: desabilitada

Padrão: 2

Valores de enumeração:

  • 1

  • 2

remark

String

Descrição. Não pode exceder 255 caracteres.

enumerations

String

Valor enumerado.

min_num

Integer

Valor mínimo.

Este parâmetro é válido quando tipo é definido como NUMBER.

max_num

Integer

Valor máximo.

Este parâmetro é válido quando tipo é definido como NUMBER.

min_size

Integer

Comprimento mínimo.

Este parâmetro é válido quando tipo é definido como STRING.

max_size

Integer

Comprimento máximo.

Este parâmetro é válido quando tipo é definido como STRING.

regular

String

Regra de validação de expressão regular.

Atualmente, este parâmetro não é suportado.

json_schema

String

Regra de validação JSON.

Atualmente, este parâmetro não é suportado.

pass_through

Integer

Indica se o parâmetro deve ser transferido de forma transparente. 1: sim 2: não

Valores de enumeração:

  • 1

  • 2

id

String

ID do parâmetro.

Tabela 23 ApiPolicyFunctionResp

Parâmetro

Tipo

Descrição

function_urn

String

Função URN.

invocation_type

String

Modo de invocação.

  • async: assíncrono

  • sync: síncrono

Valores de enumeração:

  • async

  • sync

network_type

String

Arquitetura de rede de função.

  • V1: não VPC

  • V2: VPC

Valores de enumeração:

  • V1

  • V2

version

String

Versão da função.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

Máximo: 64

alias_urn

String

Alias de função URN.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

timeout

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

id

String

ID.

effect_mode

String

Modo efetivo da política de back-end.

  • ALL: todas as condições são atendidas.

  • ANY: qualquer condição é atendida.

Valores de enumeração:

  • ALL

  • ANY

name

String

Nome do back-end, que deve começar com uma letra e pode conter letras, dígitos e sublinhados (_).

Mínimo: 3

Máximo: 64

backend_params

Array of BackendParam objects

Parâmetros de back-end.

conditions

Array of CoditionResp objects

Condições de políticas.

authorizer_id

String

ID de autorizador personalizado de back-end.

Tabela 24 ApiPolicyMockResp

Parâmetro

Tipo

Descrição

id

String

ID.

effect_mode

String

Modo efetivo da política de back-end.

  • ALL: todas as condições são atendidas.

  • ANY: qualquer condição é atendida.

Valores de enumeração:

  • ALL

  • ANY

name

String

Nome do back-end, que deve começar com uma letra e pode conter letras, dígitos e sublinhados (_).

Mínimo: 3

Máximo: 64

backend_params

Array of BackendParam objects

Parâmetros de back-end.

conditions

Array of CoditionResp objects

Condições de políticas.

authorizer_id

String

ID de autorizador personalizado de back-end.

result_content

String

Respostas.

Tabela 25 ApiPolicyHttpResp

Parâmetro

Tipo

Descrição

id

String

ID.

effect_mode

String

Modo efetivo da política de back-end.

  • ALL: todas as condições são atendidas.

  • ANY: qualquer condição é atendida.

Valores de enumeração:

  • ALL

  • ANY

name

String

Nome do back-end, que deve começar com uma letra e pode conter letras, dígitos e sublinhados (_).

Mínimo: 3

Máximo: 64

backend_params

Array of BackendParam objects

Parâmetros de back-end.

conditions

Array of CoditionResp objects

Condições de políticas.

authorizer_id

String

ID de autorizador personalizado de back-end.

url_domain

String

Ponto de extremidade do back-end da política. Ele pode consistir em um nome de domínio ou endereço IP e um número de porta, com não mais de 255 caracteres. Deve estar no formato "Nome do domínio: número da porta", por exemplo, apig.example.com: 7443. Se o número da porta não for especificado, a porta HTTPS padrão 443 ou a porta HTTP padrão 80 será usada. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Apenas letras, números, hifens (-) e sublinhados (_) são permitidos.

req_protocol

String

Protocolo de solicitação. O valor pode ser HTTP ou HTTPS.

Valores de enumeração:

  • HTTP

  • HTTPS

req_method

String

Método de solicitação. Opções: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY.

Valores de enumeração:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

  • ANY

req_uri

String

Solicitar endereço. Ele pode conter parâmetros de solicitação entre colchetes ({}). Por exemplo, /getUserInfo/{userId}. Caracteres especiais, como asteriscos (*), sinais de porcentagem (%), hífens (-) e sublinhados (), são permitidos. Ele pode conter um máximo de 512 caracteres e deve estar em conformidade com as especificações de URI. Variáveis de ambiente são suportadas. Cada um deve começar com uma letra e pode consistir de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados () são permitidos.> O valor deve estar de acordo com as especificações de URI.

timeout

Integer

Tempo limite permitido para o APIG solicitar o serviço de back-end. Você pode definir o tempo limite máximo usando o item de configuração backend_timeout. O valor máximo é 600.000.

Unidade: ms.

Mínimo: 1

retry_count

String

Número de tentativas de nova tentativa para solicitar o serviço de back-end. O valor padrão é -1. O valor varia de -1 a 10.

Padrão: -1

vpc_channel_info

VpcInfo object

Detalhes do canal da VPC. Este parâmetro é necessário se vpc_channel_status estiver definido como 1.

vpc_channel_status

Integer

Indica se deve usar um canal da VPC.

  • 1: um canal da VPC é usado.

  • 2: nenhum canal da VPC é usado.

Tabela 26 BackendParam

Parâmetro

Tipo

Descrição

origin

String

Tipo de parâmetro.

  • REQUEST: parâmetro back-end

  • CONSTANT: parâmetro constante

  • SYSTEM: parâmetro do sistema

Valores de enumeração:

  • REQUEST

  • CONSTANT

  • SYSTEM

name

String

Nome do parâmetro.

O nome do parâmetro deve começar com uma letra e só pode conter letras, dígitos, hifens (-) sublinhados (_), e pontos (.).

Mínimo: 1

Máximo: 32

remark

String

Descrição, que pode conter no máximo 255 caracteres.

location

String

Localização do parâmetro. O valor pode ser PATH, QUERY ou HEADER.

Valores de enumeração:

  • PATH

  • QUERY

  • HEADER

value

String

Valor do parâmetro, que pode conter no máximo 255 caracteres.

Se o tipo de origem estiver REQUEST, o valor deste parâmetro será o nome do parâmetro em req_params.

Se o tipo de origem estiver CONSTANT, o valor é uma constante.

Se o tipo de origem estiver SYSTEM, o valor é um nome de parâmetro do sistema. Os parâmetros do sistema incluem parâmetros de gateway, parâmetros de autenticação de front-end e parâmetros de autenticação de back-end. Você pode definir os parâmetros de autenticação de front-end ou back-end depois de ativar a autenticação personalizada de front-end ou back-end.

Os parâmetros de gateway são os seguintes:

  • $context.sourceIp: endereço IP de origem do chamador da API.

  • $context.stage: ambiente de implementação no qual a API é chamada.

  • $context.apiId: ID da API.

  • $context.appId: ID da aplicação usada pelo chamador da API.

  • $context.requestId: ID da solicitação gerada quando a API é chamada.

  • $context.serverAddr: endereço do servidor de gateway.

  • $context.serverName: nome do servidor de gateway.

  • $context.handleTime: hora em que a solicitação da API é processada.

  • $context.providerAppId: ID da aplicação usada pelo proprietário da API. Este parâmetro não é suportado atualmente.

Parâmetro de autenticação fron-tend: prefixado com "$context.authorizer.frontend.". Por exemplo, para retornar "aaa" após uma autenticação personalizada bem-sucedida, defina este parâmetro como "$context.authorizer.frontend.aaa".

Parâmetro de autenticação de back-end: prefixado com "$context.authorizer.backend.". Por exemplo, para retornar "aaa" após uma autenticação personalizada bem-sucedida, defina esse parâmetro como "$context.authorizer.backend.aaa".

id

String

ID do parâmetro.

req_param_id

String

ID do parâmetro de solicitação.

Tabela 27 CoditionResp

Parâmetro

Tipo

Descrição

req_param_name

String

Nome do parâmetro de entrada. Este parâmetro é necessário se o tipo de política for param.

condition_type

String

Condição de política.

  • exact: correspondência exata

  • enum: enumeração

  • pattern: expressão regular

Este parâmetro é necessário se o tipo de política for param.

Valores de enumeração:

  • exact

  • enum

  • pattern

condition_origin

String

Tipo de política.

  • param: parâmetro de entrada

  • source: endereço IP de origem

Valores de enumeração:

  • param

  • source

condition_value

String

Valor da condição.

id

String

ID.

req_param_id

String

ID do parâmetro de entrada.

req_param_location

String

Localização do parâmetro de entrada.

Tabela 28 VpcInfo

Parâmetro

Tipo

Descrição

ecs_id

String

ID do servidor em nuvem.

ecs_name

String

Nome do servidor em nuvem.

cascade_flag

Boolean

Indica se o modo em cascata deve ser usado.

Atualmente, este parâmetro não é suportado.

vpc_channel_proxy_host

String

Host do proxy.

vpc_channel_id

String

ID do canal da VPC.

vpc_channel_port

Integer

Porta do canal da VPC.

Código de status: 400

Tabela 29 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 401

Tabela 30 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 403

Tabela 31 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 404

Tabela 32 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 33 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Exemplo de solicitações

{
  "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
  "match_mode" : "NORMAL",
  "name" : "Api_http",
  "auth_type" : "APP",
  "backend_type" : "HTTP",
  "backend_api" : {
    "vpc_channel_status" : 1,
    "vpc_channel_info" : {
      "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59",
      "vpc_channel_proxy_host" : "www.example.com"
    },
    "req_protocol" : "HTTPS",
    "req_method" : "GET",
    "req_uri" : "/test/benchmark",
    "timeout" : 5000,
    "retry_count" : "-1"
  },
  "cors" : false,
  "req_protocol" : "HTTPS",
  "req_uri" : "/test/http",
  "remark" : "Web backend API",
  "type" : 1,
  "req_method" : "GET",
  "result_normal_sample" : "Example success response",
  "result_failure_sample" : "Example failure response",
  "backend_params" : [ {
    "name" : "X-CONSTANT-HEADER",
    "value" : "demo",
    "location" : "HEADER",
    "origin" : "CONSTANT",
    "remark" : "constant_demo"
  }, {
    "name" : "app-id",
    "value" : "$context.appId",
    "location" : "HEADER",
    "origin" : "SYSTEM",
    "remark" : "App ID of the API caller"
  } ],
  "tags" : [ "webApi" ]
}

Exemplo de respostas

Código de status: 200

OK

{
  "id" : "5f918d104dc84480a75166ba99efff21",
  "tags" : [ "webApi" ],
  "arrange_necessary" : 2,
  "backend_type" : "HTTP",
  "auth_type" : "APP",
  "auth_opt" : {
    "app_code_auth_type" : "DISABLE"
  },
  "backend_api" : {
    "update_time" : "2020-08-02T16:32:47.077028841Z",
    "vpc_channel_status" : 1,
    "vpc_channel_info" : {
      "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59",
      "vpc_channel_proxy_host" : "www.example.com"
    },
    "url_domain" : "56a7d7358e1b42459c9d730d65b14e59",
    "req_protocol" : "HTTPS",
    "id" : "1ce8fda3586d4371bd83c955df37e102",
    "req_method" : "GET",
    "register_time" : "2020-07-31T12:42:51Z",
    "req_uri" : "/test/benchmark",
    "timeout" : 5000,
    "status" : 1,
    "retry_count" : "-1"
  },
  "cors" : false,
  "status" : 1,
  "group_name" : "api_group_001",
  "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
  "group_version" : "V1",
  "match_mode" : "NORMAL",
  "name" : "Api_http",
  "req_protocol" : "HTTPS",
  "req_method" : "GET",
  "req_uri" : "/test/http",
  "type" : 1,
  "version" : "V0.0.1",
  "result_normal_sample" : "Example success response",
  "result_failure_sample" : "Example failure response",
  "register_time" : "2020-07-31T12:42:51Z",
  "update_time" : "2020-08-02T16:32:47.046288842Z",
  "remark" : "Web backend API",
  "backend_params" : [ {
    "name" : "X-CONSTANT-HEADER",
    "value" : "demo",
    "location" : "HEADER",
    "origin" : "CONSTANT",
    "remark" : "constant_demo",
    "id" : "8cb2eba19e7a4423a4e835647a8b8d76"
  }, {
    "name" : "app-id",
    "value" : "$context.appId",
    "location" : "HEADER",
    "origin" : "SYSTEM",
    "remark" : "App ID of the API caller",
    "id" : "216ddda836e74d528f364ff589d9dd21"
  } ]
}

Código de status: 400

Solicitação inválida

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

Código de status: 401

Não autorizado

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Código de status: 403

Proibido

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Código de status: 404

Não encontrado

{
  "error_code" : "APIG.3002",
  "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist"
}

Código de status: 500

Erro do servidor interno

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Códigos de status

Código de status

Descrição

200

OK

400

Solicitação inválida

401

Não autorizado

403

Proibido

404

Não encontrado

500

Erro do servidor interno

Códigos de erro

Consulte Códigos de erro.