Recursos API GraphQL
Os recursos disponíveis para uso com a GraphQL são conjuntos de dados, filtrar, ordenar e paginar. Esses recursos possibilitam fácil acesso a seus dados. Assim, ao utilizar e combinar esses recursos disponíveis, o resultado será queries mais personalizadas e específicas. Dessa forma, as requisições buscam as informações exatas que você precisa.
As próximas seções detalham cada um dos recursos disponíveis na GraphQL e como eles podem ser utilizados.
Conjuntos de dados
A API GraphQL da Azion usa conjuntos de dados para indicar quais requisições você consegue executar através de queries e busca os dados do Real-Time Metrics e do Real-Time Events. Os conjuntos consistem de tabelas organizadas que trazem seus dados.
Veja cada um dos conjuntos de dados disponíveis e o que eles buscam.
Real-Time Metrics GraphQL API
Conjunto de dados | Descrição |
---|---|
dataStreamedMetrics | Registros de envio de dados do Data Stream para o endpoint do cliente |
edgeFunctionsMetrics | Eventos de execução do Edge Functions |
httpMetrics | Eventos de requisições registradas pelo Edge Application e Edge Firewall |
edgeDnsQueriesMetrics | Eventos de consultas realizadas no Edge DNS |
imagesProcessedMetrics | Eventos de processamento de imagens do Image Processor |
tieredCacheMetrics | Eventos de requisições registradas pelo Tiered Cache |
connectedUsersMetrics | Consulte o número de usuários conectados às suas aplicações, usando Live Ingest |
botManagerMetrics | Consulte o número de requisições avaliadas e as ações realizadas pelo Azion Bot Manager (se inscrito) |
botManagerBreakdownMetrics | Consulte as URLs mais impactadas por bots maliciosos, de acordo com os dados do Azion Bot Manager (se inscrito) |
Real-Time Events GraphQL API
Conjunto de dados | Descrição |
---|---|
activityHistoryEvents | Logs de eventos de uma conta no Azion Console relacionados às atividades registradas no Activity History. Armazena dados por 2 anos e exibe dados a partir de 22 de setembro de 2023. |
cellsConsoleEvents | Logs de eventos das aplicações usando o Azion Runtime retornados pelo Cells Console. |
dataStreamedEvents | Registros de envio de dados do Data Stream para o endpoint do cliente. |
edgeFunctionsEvents | Eventos de execução do Edge Functions. |
httpEvents | Eventos de requisições registradas pelo Edge Application e Edge Firewall. |
idnsQueriesEvents | Eventos de consultas realizadas no Edge DNS. |
imagesProcessedEvents | Eventos de processamento de imagens do Image Processor. |
l2CacheEvents | Eventos de requisições registradas pelo Tiered Cache. |
telemetryDeviceInfoEvents | Eventos relacionados ao dispositivo sendo utilizado para acesso e registrados pelo Azion Mobile SDK, tanto a nível de hardware quanto de software. |
telemetrySensorsEvents | Eventos relacionados aos sensores dos dispositivos registrados pelo Azion Mobile SDK, como toque de tela e informações de giroscópio. |
Billing GraphQL API
Conjunto de dados | Descrição |
---|---|
balanceFinancialEntry | Registros relacionados aos tipos de entradas financeiras e valores monetários |
paymentsClientDebt | Registros relacionados aos débitos de clientes e pagamentos e valores monetários |
Accounting GraphQL API
Conjunto de dados | Descrição |
---|---|
accountingDetail | Registros relacionados aos dados contabilizados para produtos e suas métricas |
Você pode solicitar dados raw (brutos), usando os conjuntos Events, ou aggregated (agregados), usando os conjuntos Metrics.
Ir para referência de queries brutasIr para referência de queries agregadas
Ir para guia Como realizar consultas agregando dados com a API GraphQL
Filtrar
Ao usar o recurso de filtrar, o retorno das suas queries se torna mais específico e preciso, de acordo com os dados que você deseja buscar. É possível utilizar a filtragem com qualquer um dos campos disponíveis no conjunto de dados que você está consultando.
Ao solicitar dados complexos ou em grande quantidade, os retornos da API podem conter ruídos e se tornar mais complicados. Filtrar queries permite consultar os seus dados de forma exata e direta. Por exemplo, se você usar a seguinte query para uma requisição de httpMetrics
:
Você pode filtrar a query ao solicitar dados espeíficos sobre o campo geolocCountryName
:
Você pode ajustar a sua requisição conforme necessário para usar um campo de seu interesse, contanto que ele faça parte dos campos disponíveis no conjunto de dados que você está consultando naquele momento.
Você também pode filtrar usando múltiplos parâmetros AND
e OR
. Você deve definir todos os campos que deseja filtrar dentro do parâmetro, como no exemplo a seguir:
Ordenar
O recurso ordenar permite que você organize e ordene os dados sendo recebidos de um conjunto de dados de acordo com a ordem daquele evento. Por exemplo, se você está recebendo dados do campo host
como resposta para a sua requisição da API, você pode organizar esses dados para recebê-los:
- Em ordem ascendente (ASC)
- Em ordem decrescente (DESC)
Ao usar a propriedade orderBy
, você deve adicionar ou a especificação ASC
ou a especificação DESC
.
Por exemplo, para utilizar o recurso de ordenar através de ordem ascendente, você deve adicionar orderBy
na sua query e o campo que você deseja ordenar + ASC
:
Para ordenar seus dados em ordem decrescente (DESC), você deve adicionar o campo que deseja ordenar + DESC
:
Se você usar esta query com DESC
:
Você receberá uma resposta semelhante a:
E se você usar esta query com ASC
:
Você receberá uma resposta semelhante a:
Paginar
O recurso paginar permite definir a partir de que ponto você deseja que seus resultados sejam exibidos e quantos resultados você deseja visualizar. Atualmente, a API GraphQL da Azion usa offset e limit pagination para este recurso.
Paginar seus dados pode ser vantajoso quando você recebe grandes quantidades de dados na resposta da API. Você pode utilizar o recurso informando o offset e os limits. Assim, a API consegue retornar dados dentro da variação solicitada.
O parâmetro offset define o número de registros de dados que você deseja pular ao receber uma resposta. O parâmetro limit define o número de resultados que você deseja receber.
Veja o exemplo a seguir para entender o uso dos parâmetros offset e limit:
O offset está definido para 15, o que significa que a sua resposta exibirá a partir do 16º resultado. O limite está definido para 30, o que significa que a sua resposta exibirá um total de 30 resultados. Nesse caso, você receberá uma resposta exibindo do 16º resultado até o 45º resultado.
Reamostrar
Disponível para:
O recurso Reamostrar permite que você faça uma reamostragem dos seus dados a fim de exibir uma quantidade menor de pontos exibidos em gráficos. Ele funciona de acordo com a regra que você informa no campo function
.
Você pode usá-lo para complementar o limite que adiciona à sua consulta, pois os pontos de dados padrão nos gráficos podem não ser o número ideal para sua análise ou para a sua ferramenta de visualização.
A consulta deve conter o campo function
e suas propriedades, bem como o campo groupBy
e a variável ts
.
Ao especificar sum
, você receberá uma soma total dos pontos de dados naquele intervalo. Ao especificar mean
, você receberá um cálculo de média (soma + divisão).
Veja um exemplo:
Suponha que o resultado original da sua consulta, sem reamostragem, retornou 1.456 logs. Como você fez uma consulta para uma reamostragem de 100 pontos, o cálculo que a API faz é 1.456 // 100 = 14,56 minutos de intervalo
. Como a API só usa integer (números inteiros), ela arredondará o resultado para um intervalo de 14 minutos entre cada ponto retornado.
No entanto, a API não descarta os 0,56 minutos
restantes. Ela continua adicionando-os até que o número se torne um inteiro e então soma ao número original de pontos solicitados.
No exemplo usado, retornou os 100
pontos solicitados originalmente mais os 4
pontos restantes, resultando em um total de 104 pontos
para a consulta reamostrada.