1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

doc

Como realizar consultas agregando dados com a API GraphQL

Os dados agregados podem ser considerados dados estruturados que foram agrupados de alguma forma — eles sofrem algumas alterações para permitir um processamento analítico que busca uma análise segmentada.

Para realizar uma consulta agregando os dados disponibilizados pela API GraphQL, você vai realizar duas etapas: criar um Personal Token e executar sua solicitação no Postman. Veja as próximas seções e siga os passos.

  1. Criar Personal Tokens
  2. Consultar dados agregados com o Postman

Criar Personal Tokens

Para começar a usar a API GraphQL, você precisa de um Personal Token a fim de validar seu acesso:

Para criar um Personal Token:

  1. No Real-Time Manager (RTM), selecione > Account Menu > Personal Tokens.
  2. Salve seu Personal Token em um local seguro para utilizá-lo nas próximas etapas.

Veja a página de documentação para mais informações sobre o processo de criação de Personal Tokens.

Como alternativa, você pode criar um Personal Token de curta duração através da Azion API.

Consultar dados agregados com o Postman

Após criar o seu Personal Token, vá para o Postman e siga os próximos passos:

  1. Na parte superior do Postman, clique no botão com o símbolo de + para criar uma nova requisição.
  2. Vá até a aba Headers, na parte superior, clique em Bulk Edit e adicione o seguinte código, juntamente com o valor do Personal Token que foi criado:
Authorization:Token [TOKEN VALUE]

Após criar o Headers com o token, siga na mesma tela do Postman para criar o corpo da requisição:

  1. No canto superior esquerdo, clique na opção GET para abrir a lista suspensa.
  2. Selecione a opção POST.
  3. Selecione a aba Body, na linha de opções, e selecione a opção GraphQL.
  4. No espaço QUERY, adicione a seguinte Query agregada:
query HttpQuery {
 httpRaw(
   limit: 10,
   filter: {
     tsRange: {begin:"2022-03-21T10:10:10", end:"2022-06-23T10:10:10"}
   }
   aggregate: {sum: bytesSent}
   groupBy: [ts]
   orderBy: [ts_ASC]
   )
 {
   ts
   sum
 }
}

O exemplo acima consulta a tabela de dados brutos (raw) do dataset de HTTP. Além disso, o operador sum agrega os dados com as informações sobre o campo bytesSent em um determinado período de tempo definido pelo campo tsRange.

Por fim, os dados foram agrupados e ordenados pelo campo ts (timestamp).

Para consultas com dados agregados, é obrigatório informar:

  • Um intervalo de tempo para consulta utilizando tsRange ou tsGt + tsLt.
  • Os campos em que deseja agrupar as informações utilizando groupBy.
  • Quais dos dados obtidos na consulta devem ser exibidos. No caso do exemplo apresentado, foram utilizados ts e sum, onde sum é o retorno da agregação de bytesSent.

Para agregar as informações fornecidas pela API GraphQL, existem algumas opções que devem ser informadas através do campo aggregate na query, como no exemplo apresentado anteriormente. São elas:

  • Count: utilizado para determinar o valor total de registros que atende a uma condição específica.
  • Sum: retorna a soma dos valores de entrada da coluna ou expressão.
  • Max: retorna o valor máximo de um determinado campo de uma tabela de acordo com o critério de seleção estabelecido.
  • Avg: calcula a média aritmética de um conjunto de valores contidos em um campo especificado em uma consulta.

Você pode realizar uma consulta com cada uma das opções disponíveis—count, sum, max e avg—, contanto que cada opção seja utilizada apenas uma vez e cada operador faça a agregação de apenas um campo do dataset por vez. Veja o exemplo a seguir:

   aggregate: {
count: rows, 
sum: bytesSent, 
avg: requestTime, 
max: requestLength
}

Após criar a consulta, você pode enviá-la para a API GraphQL e receber o retorno dos dados:

  1. No campo Enter request URL, adicione a URL da API GraphQL: https://api.azionapi.net/metrics/graphql
  2. No canto superior direito da página, clique no botão Send.

Você receberá um retorno com os dados solicitados, como no exemplo a seguir:

{
   "data": {
       "httpRaw": [
           {
               "ts": "2022-09-09T21:33:13",
               "sum": 1471.0
           },
           {
               "ts": "2022-09-09T21:33:14",
               "sum": 1471.0
           },
           {
               "ts": "2022-09-09T21:33:15",
               "sum": 1471.0
           }
       ]
   }
}

A API GraphQL retorna os dados de agregação com o operador sum sobre o campo bytesSent, de acordo com a query informada na requisição.

Para saber mais sobre como consultar dados agregados com a API GraphQL, visite a página de documentação.


Não encontrou o que procurava? Abra um ticket.