Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano jednostki zapytań, sposób ich użycia przez usługę Azure Digital Twins oraz sposób znajdowania użycia jednostek zapytań w usłudze Azure Digital Twins.
Jednostka zapytań usługi Azure Digital Twins (QU) to jednostka obliczeń na żądanie używana do wykonywania zapytań usługi Azure Digital Twins przy użyciu interfejsu API zapytań.
Abstrahuje zasoby systemowe, takie jak CPU, operacje wejścia/wyjścia na sekundę (IOPS) i pamięć, które są wymagane do wykonywania operacji zapytań obsługiwanych przez Azure Digital Twins, co pozwala na śledzenie użycia w jednostkach zapytaniowych.
Na liczbę jednostek zapytań zużytych do wykonania zapytania wpływa:
- Złożoność zapytania
- Rozmiar zestawu wyników (więc zapytanie zwracające 10 wyników zużywa więcej jednostek QU niż zapytanie o podobnej złożoności, które zwraca tylko jeden wynik)
W tym artykule wyjaśniono, jak zrozumieć jednostki zapytań i śledzić użycie jednostek zapytania.
Znajdź zużycie jednostek zapytań w usłudze Azure Digital Twins
Po uruchomieniu zapytania przy użyciu interfejsu API zapytań usługi Azure Digital Twins możesz sprawdzić nagłówek odpowiedzi, aby śledzić liczbę jednostek zapytań (QUs) zużytych przez to zapytanie. Wyszukaj ciąg "query-charge" w odpowiedzi wysłanej z usługi Azure Digital Twins.
Zestawy SDK Azure Digital Twins umożliwiają wyodrębnianie nagłówka kosztu zapytania z odpowiedzi, która ma możliwość stronicowania. W tej sekcji pokazano, jak wykonywać zapytania dotyczące cyfrowych bliźniaków i jak przechodzić przez stronicowaną odpowiedź w celu wyodrębnienia nagłówka opłaty za zapytanie.
Poniższy fragment kodu pokazuje, jak można wyodrębnić opłaty za zapytania poniesione podczas wywoływania interfejsu API zapytań. Najpierw wykonuje iterację na stronach odpowiedzi, aby uzyskać dostęp do nagłówka opłaty za zapytanie, a następnie iteruje wyniki cyfrowej reprezentacji bliźniaczej w każdej stronie.
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}'");
}
}
}
}
}
Następne kroki
Aby dowiedzieć się więcej na temat wykonywania zapytań dotyczących usługi Azure Digital Twins, odwiedź stronę:
- Język zapytań usługi Azure Digital Twins
- Zapytywanie grafu bliźniaczego usługi Azure Digital Twins
- Dokumentacja referencyjna interfejsu API zapytań
Limity związane z zapytaniami usługi Azure Digital Twins można znaleźć w temacie Azure Digital Twins service limits (Limity usługi Azure Digital Twins).