Azure Digital Twins 中的查詢單位

本文說明查詢單位、Azure Digital Twins 如何使用查詢單位,以及如何在 Azure Digital Twins 中找到查詢單位耗用量。

Azure Digital Twins 查詢單位 (QU) 是隨選計算單位,可用來以查詢 API 執行 Azure Digital Twins 查詢

Azure Digital Twins 查詢單位會將 CPU、IOPS 和記憶體等系統資源抽象化,這些是執行 Azure Digital Twins 支援的查詢作業的必要資源,讓您能改以查詢單位來追蹤耗用量。

用來執行查詢的查詢單位量會受到下列因素影響:

  • 查詢的複雜性
  • 結果集的大小 (因此傳回 10 個結果的查詢會比複雜度類似但只傳回一個結果的查詢耗用更多 QU)

本文說明如何理解查詢單位和追蹤查詢單位耗用量。

在 Azure Digital Twins 中找到查詢單位耗用量

當您使用 Azure Digital Twins 查詢 API執行查詢時,可以檢查回應標頭來追蹤查詢取用的 QU 數目。 在從 Azure Digital Twins 傳回的回應中尋找「查詢費用」。

Azure Digital Twins SDK 可讓您從可分頁回應中擷取查詢費用標頭。 本節說明如何查詢數位對應項,以及如何逐一查看可分頁回應,以擷取查詢費用標頭。

下列程式碼片段示範如何擷取呼叫查詢 API 時所產生的查詢費用。 下列程式碼片段會先逐一查看回應頁面以存取查詢費用標頭,然後逐一查看每個頁面內的數位對應項結果。

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}'");
                }
            }
        }
    }
}

下一步

若要深入了解如何查詢 Azure Digital Twins,請瀏覽:

您可以在 Azure Digital Twins 服務限制中找到 Azure Digital Twins 查詢相關限制。