Registração de uma API
Função
Esta API é usada para criar uma API. API é uma interface que encapsula um conjunto de recursos de serviço. A definição de uma API define como a API é chamada pelos usuários e como o APIG acessa o serviço de back-end real solicitado pelos usuários. O APIG suporta três tipos de back-end: Web HTTP/HTTPS, FunctionGraph e Fictício.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis
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. |
Parâmetros 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. |
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.
Valores de enumeração:
|
version |
Não |
String |
Versão da API. Máximo: 16 |
req_protocol |
Sim |
String |
Protocolo de solicitação.
Padrão: HTTPS Valores de enumeração:
|
req_method |
Sim |
String |
Método de solicitação. Valores de enumeração:
|
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 (%), 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.
Valores de enumeração:
|
auth_opt |
Não |
AuthOpt object |
Parâmetro de autenticação de segurança. |
cors |
Não |
Boolean |
Indica se o CORS é suportado.
Padrão: false Valores de enumeração:
|
match_mode |
Não |
String |
Modo de correspondência de rota.
O valor padrão é NORMAL. Valores de enumeração:
|
backend_type |
Sim |
String |
Tipo de back-end.
Valores de enumeração:
|
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:
Atualmente, este parâmetro não é suportado. Valores de enumeração:
|
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 |
Mock políticas de back-end. |
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. |
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.
Padrão: DISABLE Valores de enumeração:
|
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. |
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.
Valores de enumeração:
|
network_type |
Sim |
String |
Arquitetura de rede de função.
Valores de enumeração:
|
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. |
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:
|
location |
Sim |
String |
Localização do parâmetro. Valores de enumeração:
|
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:
|
valid_enable |
Não |
Integer |
Indica se a verificação de validade está habilitada.
Padrão: 2 Valores de enumeração:
|
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:
|
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.
Valores de enumeração:
|
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
function_urn |
Sim |
String |
Função URN. |
invocation_type |
Sim |
String |
Modo de invocação.
Valores de enumeração:
|
network_type |
Sim |
String |
Arquitetura de rede de função.
Valores de enumeração:
|
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.
Valores de enumeração:
|
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. |
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:
|
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:
|
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 um canal da VPC deve ser usado.
Valores de enumeração:
|
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:
|
req_method |
Sim |
String |
Método de solicitação. Opções: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY. Valores de enumeração:
|
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.
Valores de enumeração:
|
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 um canal da VPC deve ser usado.
Valores de enumeração:
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
origin |
Sim |
String |
Tipo de parâmetro.
Valores de enumeração:
|
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:
|
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:
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 esse 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". |
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.
Este parâmetro é necessário se o tipo de política for param. Valores de enumeração:
|
condition_origin |
Sim |
String |
Tipo de política.
Valores de enumeração:
|
condition_value |
Sim |
String |
Valor da condição. |
Parâmetros de resposta
Código de status: 201
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.
Valores de enumeração:
|
version |
String |
Versão da API. Máximo: 16 |
req_protocol |
String |
Protocolo de solicitação.
Padrão: HTTPS Valores de enumeração:
|
req_method |
String |
Método de solicitação. Valores de enumeração:
|
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.
Valores de enumeração:
|
auth_opt |
AuthOpt object |
Parâmetro de autenticação de segurança. |
cors |
Boolean |
Indica se o CORS é suportado.
Padrão: false Valores de enumeração:
|
match_mode |
String |
Modo de correspondência de rota.
O valor padrão é NORMAL. Valores de enumeração:
|
backend_type |
String |
Tipo de back-end.
Valores de enumeração:
|
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:
Atualmente, este parâmetro não é suportado. Valores de enumeração:
|
id |
String |
ID da API. |
status |
Integer |
Status de aplicação.
|
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. |
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.
Padrão: DISABLE Valores de enumeração:
|
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:
|
remark |
String |
Descrição. Não pode exceder 255 caracteres. |
req_method |
String |
Método de solicitação. Valores de enumeração:
|
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.
|
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 um canal da VPC deve ser usado.
|
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID. |
name |
String |
Nome do grupo de APIs. |
status |
Integer |
Estado.
Valores de enumeração:
|
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.
|
url_domains |
Array of UrlDomain objects |
Nomes de domínio independentes vinculados ao grupo de APIs. |
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.
|
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:
|
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.
Valores de enumeração:
|
network_type |
String |
Arquitetura de rede de função.
Valores de enumeração:
|
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.
|
update_time |
String |
Hora da atualização. |
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.
|
update_time |
String |
Hora da atualização. |
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:
|
location |
String |
Localização do parâmetro. Valores de enumeração:
|
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:
|
valid_enable |
Integer |
Indica se a verificação de validade está habilitada.
Padrão: 2 Valores de enumeração:
|
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:
|
id |
String |
ID do parâmetro. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
function_urn |
String |
Função URN. |
invocation_type |
String |
Modo de invocação.
Valores de enumeração:
|
network_type |
String |
Arquitetura de rede de função.
Valores de enumeração:
|
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.
Valores de enumeração:
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID. |
effect_mode |
String |
Modo efetivo da política de back-end.
Valores de enumeração:
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID. |
effect_mode |
String |
Modo efetivo da política de back-end.
Valores de enumeração:
|
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:
|
req_method |
String |
Método de solicitação. Opções: GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, ANY. Valores de enumeração:
|
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.
|
Parâmetro |
Tipo |
Descrição |
---|---|---|
origin |
String |
Tipo de parâmetro.
Valores de enumeração:
|
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:
|
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:
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. |
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.
Este parâmetro é necessário se o tipo de política for param. Valores de enumeração:
|
condition_origin |
String |
Tipo de política.
Valores de enumeração:
|
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. |
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
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 401
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 403
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 404
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 500
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Exemplo de solicitações
-
Criação de uma API de back-end da Web
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_http", "auth_type" : "AUTHORIZER", "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_type" : "HTTP", "backend_api" : { "url_domain" : "100.95.189.156:12346", "req_protocol" : "HTTP", "req_method" : "GET", "req_uri" : "/test/benchmark", "timeout" : 5000, "retry_count" : "-1" }, "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", "tags" : [ "webApi" ], "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "required" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "required" : 2 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST" }, { "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" } ] }
-
Criação de uma API de back-end do FunctionGraph
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "backend_type" : "FUNCTION", "func_info" : { "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:xx-xxx-7:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "network_type" : "V1", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1" }, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "functionApi" ] }
-
Criação de uma API de back-end do Fictício
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "backend_type" : "MOCK", "mock_info" : { "result_content" : "mock success" }, "policy_mocks" : [ { "name" : "Mock policy backend", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0" } ] } ], "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "mockApi" ] }
Exemplo de respostas
Código de status: 201
Criado
-
Exemplo 1
{ "id" : "5f918d104dc84480a75166ba99efff21", "tags" : [ "webApi" ], "arrange_necessary" : 2, "backend_type" : "HTTP", "auth_type" : "AUTHORIZER", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_api" : { "update_time" : "2020-07-31T12:42:51.325312994Z", "vpc_channel_status" : 2, "url_domain" : "100.95.189.156:12346", "req_protocol" : "HTTP", "id" : "1ce8fda3586d4371bd83c955df37e102", "req_method" : "GET", "register_time" : "2020-07-31T12:42:51.325312721Z", "req_uri" : "/benchmark", "timeout" : 5000, "status" : 1, "retry_count" : "-1" }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_version" : "V1", "response_id" : "981e6c8f847f47199a9faf4409b751a5", "match_mode" : "NORMAL", "name" : "Api_http", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "type" : 1, "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "version" : "V0.0.1", "register_time" : "2020-07-31T12:42:51.314357035Z", "update_time" : "2020-07-31T12:42:51.314357324Z", "remark" : "Web backend API", "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "valid_enable" : 2, "required" : 1, "id" : "57c8bf3c97ef40ee94eace95dff30014", "pass_through" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "valid_enable" : 2, "required" : 2, "id" : "8d993be96980415faa6b1fb2ebd647e0", "pass_through" : 1 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST", "id" : "709f0ea376b44aaf907aaaa37d8cce92", "req_param_id" : "8d993be96980415faa6b1fb2ebd647e0" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST", "id" : "2f152d0fb54445039158d29c2a4f69ee", "req_param_id" : "57c8bf3c97ef40ee94eace95dff30014" }, { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo", "id" : "20142102c6aa4f3c97d5fd6ef4010ac2" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller", "id" : "a1349c61016e4d999ca783a50bfeee2b" } ] }
-
Exemplo 2
{ "id" : "abd9c4b2ff974888b0ba79be7e6b2763", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "FUNCTION", "func_info" : { "id" : "c0740524cd4c40e3801a7afe5375f8b0", "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:xx-xxx-7:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "network_type" : "V1", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc00000:!a1", "register_time" : "2020-08-02T15:36:19.897262803Z", "update_time" : "2020-08-02T15:36:19.897262993Z", "status" : 1 }, "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "version" : "V0.0.1", "status" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "functionApi" ], "register_time" : "2020-08-02T15:36:19.892012381Z", "update_time" : "2020-08-02T15:36:19.892012627Z" }
-
Exemplo 3
{ "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "MOCK", "mock_info" : { "id" : "e74bbc75825c4c38ae84ccab6bdc6175", "result_content" : "mock success", "update_time" : "2020-08-02T15:56:52.301790686Z", "register_time" : "2020-08-02T15:56:52.301790367Z" }, "policy_mocks" : [ { "name" : "Mock policy backend", "id" : "1cb05173a4c84b7d996e30145cce3c7d", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0", "id" : "8650b3a94e7344df8251658d8aee1f6d" } ] } ], "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "version" : "V0.0.1", "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "mockApi" ], "register_time" : "2020-08-02T15:56:52.286099413Z", "update_time" : "2020-08-02T15:56:52.286099715Z", "status" : 1 }
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.3019", "error_msg" : "The function URN 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 |
---|---|
201 |
Criado |
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.