Consulta de chamadas de API dentro de um período
Função
Essa API é usada para consultar o número de vezes que uma API é chamada durante um período. A consulta pode ser baseada em 1 minuto, 1 hora ou 1 dia.
- Se o intervalo de tempo estiver dentro de uma hora, o servidor retornará dados dos últimos N minutos, com o número de chamadas de API coletadas a cada minuto.
- Se o intervalo de tempo estiver dentro de um dia, o servidor retornará dados das últimas N horas (ou N + 1 horas se N não for um inteiro), com o número de chamadas de API coletadas a cada hora. Por exemplo, se o intervalo de tempo estiver entre 2 e 3 horas, os dados das últimas 2 + 1 horas serão retornados.
- Se o intervalo de tempo for maior que um dia, o servidor retornará dados dos últimos N dias (ou N + 1 dias se N não for um inteiro), com o número de chamadas de API coletadas todos os dias.
Para fins de segurança, limpe seus registros de operação, incluindo, mas não limitado a, registros nos diretórios ~/.bash_history e /var/log/messages (se houver), depois de executar o comando curl no servidor para consultar informações.
URI
A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.
| Método de solicitação | URI |
|---|---|
| GET | /v1.0/apigw/statistics/api/latest?api_id=[api_id]&duration=[duration] |
Solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| api_id | Sim | String | ID da API |
| duration | Sim | String | Intervalo de tempo (unidade: h ou m). Por exemplo, 1h refere-se à última 1 hora e 1m refere-se ao último 1 minuto. |
Resposta
| Parâmetro | Tipo | Descrição | Tipo de operação |
|---|---|---|---|
| code | String | Código de resposta | R |
| msg | String | Mensagem de resposta | R |
| start_time | Long | Carimbo de data/hora (UTC) da hora de início | R |
| end_time | Long | Carimbo de data/hora (UTC) da hora final | R |
| list | Estrutura | Dados estatísticos | R |
| Parâmetro | Tipo | Descrição | Tipo de operação |
|---|---|---|---|
| cycle | String | Intervalo (reservado) | R |
| api_id | String | ID da API | R |
| current_minute | Long | Carimbo de data/hora (UTC) do acesso à API | R |
| group_id | String | ID do grupo da API | R |
| provider | String | Fornecedor de API | R |
| req_count | Integer | Número total de solicitações | R |
| max_latency | Integer | Máxima latência | R |
| avg_latency | Double | Latência média | R |
| max_backend_latency | Integer | Máxima latência de back-end | R |
| avg_backend_latency | Double | Latência média de back-end | R |
| max_inner_latency | Integer | Máxima latência de gateway | R |
| avg_inner_latency | Double | Latência média do gateway | R |
| output_throughput | Integer | Taxa de transferência de downstream (bytes) | R |
| input_throughput | Integer | Taxa de transferência de upstream (bytes) | R |
| req_count4xx | Integer | Número total de códigos de resposta 4xx | R |
| req_count5xx | Integer | Número total de códigos de resposta 5xx | R |
| req_count2xx | Integer | Número total de códigos de resposta 2xx | R |
| req_count_error | Integer | Número de erros | R |
| register_time | String | Tempo de gravação (aaaa-MM-dd HH:mm:ss) | R |
| req_time | String | Tempo de solicitação da API (aaaa-MM-dd HH:mm:ss) | R |
| status | Integer | Status (reservado) | R |
Exemplo de resposta:
{
"code":"APIG.0000",
"msg":"",
"start_time":1524735000,
"end_time":1524735000,
"list":[
{
"api_id":"ae12b59fef2e4c6b8e01d44e98b738c0",
"current_minute":1524735000,
"group_id":"26463e4b2445415eabb55b2414012989",
"provider":"d4ef919b31bd43d3927c5d46c71b68c4",
"req_count":45,
"max_latency":59,
"avg_latency":2.53,
"max_backend_latency":0,
"avg_backend_latency":0,
"max_inner_latency":59,
"avg_inner_latency":2.53,
"output_throughput":31815,
"input_throughput":334474,
"req_count4xx":0,
"req_count5xx":0,
"req_count2xx":45,
"req_count_error":0,
"register_time":"2018-04-26 17:30:48",
"req_time":"2018-04-26 17:30:00",
"status":1
}
]
}
Códigos de status
| Código de status | Descrição |
|---|---|
| 200 | Sucesso da consulta |