Unidades de Consulta dos Gêmeos Digitais do Azure

Este artigo aborda as unidades de consulta, como elas são usadas pelo Gêmeos Digitais do Azure e como encontrar o consumo de Unidades de Consulta nos Gêmeos Digitais do Azure.

Uma QU (Unidade de Consulta) dos Gêmeos Digitais do Azure é uma unidade de computação sob demanda usada para executar Consultas dos Gêmeos Digitais do Azure com uma API de Consulta.

Ela desconsidera recursos do sistema, como CPU, IOPS e memória, necessários para executar operações de consulta compatíveis com os Gêmeos Digitais do Azure, permitindo, em vez disso, que você acompanhe o uso nas Unidades de Consulta.

A quantidade de Unidades de Consulta consumidas para executar uma consulta será afetada pelo seguinte:

  • A complexidade da consulta
  • O tamanho do conjunto de resultados (portanto, uma consulta que retorna dez resultados consumirá mais Unidades de Consulta do que uma consulta de complexidade semelhante que retorna somente um resultado)

Este artigo explicará o funcionamento das Unidades de Consulta e como acompanhar o consumo delas.

Localizar o consumo da Unidade de Consulta nos Gêmeos Digitais do Azure

Ao executar uma consulta usando a API de Consulta dos Gêmeos Digitais do Azure, você pode examinar o cabeçalho de resposta para acompanhar o número de QUs que a consulta consumiu. Procure o "preço de consulta" na resposta retornada pelos Gêmeos Digitais do Azure.

Os SDKs dos Gêmeos Digitais do Azure permitem extrair o cabeçalho do preço de consulta da resposta paginável. Esta seção mostrará de que modo executar uma consulta nos gêmeos digitais e iterar na resposta paginável para extrair o cabeçalho do preço de consulta.

O snippet de código a seguir demonstra como você pode extrair os encargos de consulta incorridos ao chamar a API de Consulta. Primeiro, ele vai iterar nas páginas de resposta para acessar o cabeçalho do preço de consulta, depois iterar nos resultados do gêmeo digital de cada página.

using Azure;
using Azure.DigitalTwins.Core;
using System;

namespace DigitalTwins_Samples
{
    public class GetQueryChargesSample
    {
        async public void Run(DigitalTwinsClient client)
        {
            AsyncPageable<BasicDigitalTwin> asyncPageableResponseWithCharge = client.QueryAsync<BasicDigitalTwin>("SELECT * FROM digitaltwins");
            int pageNum = 0;

            // The "await" keyword here is required, as a call is made when fetching a new page.

            await foreach (Page<BasicDigitalTwin> page in asyncPageableResponseWithCharge.AsPages())
            {
                Console.WriteLine($"Page {++pageNum} results:");

                // Extract the query-charge header from the page

                if (QueryChargeHelper.TryGetQueryCharge(page, out float queryCharge))
                {
                    Console.WriteLine($"Query charge was: {queryCharge}");
                }

                // Iterate over the twin instances.

                // The "await" keyword is not required here, as the paged response is local.

                foreach (BasicDigitalTwin twin in page.Values)
                {
                    Console.WriteLine($"Found digital twin '{twin.Id}'");
                }
            }
        }
    }
}

Próximas etapas

Para saber mais sobre como executar uma consulta nos Gêmeos Digitais do Azure, visite:

É possível localizar os limites relacionados à consulta dos Gêmeos Digitais do Azure em limites do serviço dos Gêmeos Digitais do Azure de serviço.