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 |