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 |