Compartilhar via


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 10 resultados consome mais QUs do que uma consulta de complexidade semelhante que retorna apenas 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 uma API de Consulta dos Gêmeos Digitais do Azure, será possível 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 demonstrará de que modo é possível extrair preços de consulta que incorrem durante uma chamada à 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.