Configuração de um recurso para um gateway
Função
Esta API é usada para configurar um recurso para um gateway.
A tabela a seguir lista os recursos suportados e exemplos de configuração.
Nome de recursos | Descrição de recursos | Exemplo de configuração | Nome do parâmetro | Descrição do parâmetro | Valor padrão | Intervalo de valores |
---|---|---|---|---|---|---|
lts | Relatórios de logs de acesso Shubao | {"name":"lts","enable":true,"config": "{\"group_id\": ",\"topic_id\":\"\",\"log_group\":\"\",\"log_stream\":\"\"}"} | (1) group_id (2) topic_id (3) log_group (4) log_stream | (1) ID do grupo de log. (2) ID do fluxo de log. (3) Nome do grupo de log. (4) Nome do fluxo de log. | - | - |
ratelimit | Configuração do limite de limitação de solicitação | {"name":"ratelimit","enable":true,"config": "{\"api_limits\": 500}"} | api_limits | Limite de limitação de solicitações padrão para APIs. Defina este parâmetro corretamente para atender aos seus requisitos de serviço. Um pequeno valor pode constantemente estrangular seus serviços. | 200 chamadas/segundo | 1–1.000.000 chamadas/segundo |
request_body_size | Configuração do tamanho máximo do corpo da solicitação | {"name":"request_body_size","enable":true,"config": "104857600"} | request_body_size | O tamanho máximo de corpo permitido para uma solicitação. | 12 MB | 1–9536 MB |
backend_timeout | Configuração máxima de tempo limite de back-end | {"name":"backend_timeout","enable":true,"config": "{"max_timeout": 500}"} | max_timeout | Tempo limite máximo permitido para o API Gateway solicitar o serviço de back-end. | 60.000 ms | 1–600.000 ms |
app_token | Autenticação app_token | {"name":"app_token","enable":true,"config": "{\"enable\": \"on\", \"app_token_expire_time\": 3600, \"app_token_uri\": \"/v1/apigw/oauth2/token\", \"refresh_token_expire_time\": 7200}"} | (1) enable (2) app_token_expire_time (3) refresh_token_expire_time (4) app_token_uri (5) app_token_key | (1) Se deve habilitar esse recurso. (2) Período de validade do token de acesso. (3) Atualizar o período de validade do token. (4) URI para obter um token. (5) Chave de criptografia de token. | (1) desativar (2) 3600s (3) 7200s (4) /v1/apigw/oauth2/token | (1) ativar/desativar (2) 1–72.000s (3) 1–72.000s |
app_api_key | Autenticação app_api_key | {"name":"app_api_key","enable":true,"config": "on"} | - | - | desativar | ativar/desativar |
app_basic | Autenticação app_basic | {"name":"app_basic","enable":true,"config": "on"} | - | - | desativar | ativar/desativar |
app_secret | Autenticação app_secret | {"name":"app_secret","enable":true,"config": "on"} | - | - | desativar | ativar/desativar |
app_jwt | Autenticação app_jwt | {"name":"app_jwt","enable":true,"config": "{\"enable\": \"on\", \"auth_header\": \"Authorization\"}"} | (1) enable (2) auth_header | (1) Habilitar ou não a autenticação app_jwt. (2) Cabeçalho de autenticação app_jwt. | (1) desativar (2) Autorização | (1) ativar/desativar |
public_key | Assinaturas de back-end public_key | {"name":"public_key","enable":true,"config": "{\"enable\": \"on\", \"public_key_uri_prefix\": \"/apigw/authadv/v2/public-key/\"}"} | (1) enable (2) public_key_uri_prefix | (1) Habilitar ou não a autenticação app_jwt. (2) Prefixo URI usado para obter a chave pública. | (1) desativar (2) /apigw/authadv/v2/public-key/ | (1) ativar/desativar |
backend_token_allow | Permitir que os locatários transmitam tokens de forma transparente para o back-end | {"name":"backend_token_allow","enable":true,"config": "{\"backend_token_allow_users\": [\"user_name\"]}"} | backend_token_allow_users | Lista branca de locatários autorizados a transmitir tokens de forma transparente para o back-end. O valor é uma expressão regular de nomes de domínio. | - | - |
backend_client_certificate | Autenticação bidirecional de back-end | {"name":"backend_client_certificate","enable":true,"config": "{\"enable\": \"on\",\"ca\": \"\",\"content\": \"\",\"key\": \"\"}"} | (1) enable (2) ca (3) content (4) key | (1) Se deve habilitar esse recurso. (2) Arquivo CA de autenticação bidirecional. (3) Arquivo de autenticação bidirecional. (4) Chave privada de autenticação bidirecional. | (1) desativar | (1) ativar/desativar |
ssl_ciphers | Conjuntos de cifras HTTPS | {"name":"ssl_ciphers","enable":true,"config": "config": "{\"ssl_ciphers\": [\"ECDHE-ECDSA-AES256-GCM-SHA384\"]}"} | ssl_ciphers | Suítes de cifras suportadas. O parâmetro ssl_ciphers não pode ficar em branco e pode conter apenas as opções na faixa de valores. | - | ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256 |
real_ip_from_xff | Se o cabeçalho X-Forwarded-For deve ser usado para especificar endereços IP de origem para controle de acesso e limitação de solicitação. | {"name":"real_ip_from_xff","enable": true,"config": "{\"enable\": \"on\",\"xff_index\": 1}"} | (1) enable (2) xff_index | (1) Se deve habilitar esse recurso. (2) Índice do endereço IP de origem no cabeçalho X-Forwarded-For. (Números negativos são permitidos e –1 é o último índice.) | (1) desativar (2) -1 | (1) ativar/desativar (2) Valor Int32 válido |
app_route | Se permitir o acesso ao endereço IP. | {"name":"app_route","enable":true,"config": "on"} | - | - | desativar | ativar/desativar |
vpc_name_modifiable | Modificação do nome do canal do balanceamento de carga | {"name":"vpc_name_modifiable","enable":true,"config": "on"} | - | - | desativar | ativar/desativar |
default_group_host_trustlist | Acesso ao grupo DEFAULT a partir de endereços IP que não são endereços de acesso de entrada do gateway atual | {"name":"default_group_host_trustlist","enable": true,"config": "{\"enable\":\"on\",\"hosts\":[\"123.2.2.2\",\"202.2.2.2\"]}"} | (1) enable (2) hosts | (1) Se deve habilitar esse recurso. (2) Endereços IP que não são endereços de acesso de entrada do gateway atual. | - | (1) ativar/desativar |
throttle_strategy | Se a limitação de solicitação deve ser habilitada. | {"name":"throttle_strategy","enable":true,"config": "{\"enable\": \"on\",\"strategy\": \"local\"}"} | (1) enable (2) strategy | (1) Se deve habilitar esse recurso. (2) Modo de limitação de solicitação. | (1) desativar | (1) ativar/desativar (2) cluster/local |
custom_log | Se imprimir cabeçalhos de solicitação personalizados, cadeias de consulta e cookies em logs. | {"name":"custom_log","enable":true,"config": "{\"custom_logs\":[{\"location\":\"header\",\"name\":\"a1234\"}]}"} | (1) custom_logs (2) location (3) name | (1) Registros personalizados. (2) Localização. (3) Nome. | - | (1) Máximo 10 itens. (2) cabeçalho/consulta/cookie |
real_ip_header_getter | Se usar um cabeçalho personalizado para obter endereços IP de origem. | {"name":"real_ip_header_getter","enable":true,"config": "{\"enable\": \"on\",\"header_getter\": \"header:testIP\"}"} | (1) enable (2) header_getter | (1) Se deve habilitar esse recurso. (2) Cabeçalho personalizado para obtenção de endereços IP de origem. | (1) desativar | (1) ativar/desativar |
policy_cookie_param | Suportar cookies em condições de política de back-end. | {"name":"policy_cookie_param","enable":true,"config": "on"} | - | - | desativar | ativar/desativar |
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/features
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 de recursos. Mínimo: 1 Máximo: 64 |
enable |
Sim |
Boolean |
Indica se o recurso deve ser ativada. |
config |
Não |
String |
Configuração de parâmetros. |
Parâmetros de resposta
Código de status: 201
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID da recursos. |
name |
String |
Nome de recursos. Mínimo: 1 Máximo: 64 |
enable |
Boolean |
Indica se o recurso deve ser ativada. |
config |
String |
Configuração de parâmetros. |
instance_id |
String |
ID do gateway. |
update_time |
String |
Tempo de atualização do recurso. |
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
{ "name" : "app_api_key", "config" : "on", "enable" : true }
Exemplo de respostas
Código de status: 201
Criado
{ "config" : "on", "enable" : true, "id" : "db9a9260cd3e4a16a9b5747a65d3ffaa", "instance_id" : "eddc4d25480b4cd6b512f270a1b8b341", "name" : "app_api_key", "update_time" : "2020-08-24T01:17:31.041984021Z" }
Código de status: 400
Solicitação inválida
{ "error_code" : "APIG.2000", "error_msg" : "unrecognized feature app-api-key" }
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.3030", "error_msg" : "The instance does not exist;id:eddc4d25480b4cd6b512f270a1b8b341" }
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.