Notatka
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.
Tagi to pary klucz-wartość, które można przypisać do orkiestracji, aktywności i podorkiestracji, aby dodać własne metadane. Używaj tagów do kategoryzowania i korelowania pracy w trakcie jej działania. Możesz też używać tagów orkiestracji do wyszukiwania instancji orkiestracji.
Tagi można dodawać do:
- Instancje orkiestracji — po uruchomieniu nowej orkiestracji z poziomu klienta.
- Działania — gdy orkiestrator planuje działanie.
- Orkiestracje podrzędne — gdy orkiestrator planuje orkiestrację podrzędną.
Obsługa zestawu SDK i rozszerzeń
| SDK/rozszerzenie | Znaczniki orkiestracji | Tagi aktywności | Tagi sub-orkiestracji | Odczytaj tagi orkiestracji |
|---|---|---|---|---|
Durable Task .NET SDK (durabletask-dotnet) |
✅ | ✅ | ✅ | ✅ |
Durable Task JavaScript SDK (durabletask-js) |
✅ | ✅ | ✅ | ✅ |
Durable Task Python SDK (durabletask-python) |
✅ | ✅ | ❌ |
❌ (niewyświetlane w OrchestrationState) |
Trwały zestaw SDK Java zadań (durabletask-java) |
✅ (wersja 1.6.0+) |
❌ (TaskOptions służy wyłącznie do ponowienia próby) |
❌ | ✅ |
| Durable Functions: model izolowany platformy .NET | ✅ | ✅ | ✅ | ✅ |
| Durable Functions: .NET w procesie | ❌ | ❌ | ❌ | ❌ |
| Durable Functions: JavaScript | ❌ | ❌ | ❌ | ❌ |
| Durable Functions: Python | ❌ | ❌ | ❌ | ❌ |
| Durable Functions: Java | ✅ | ❌ | ❌ | ✅ |
Jak działają tagi
Planując orkiestrację, aktywność lub podorkiestrację, możesz podać w postaci tagów słownik par klucz-wartość złożonych z ciągów znaków. Trwały Harmonogram Zadań przechowuje i odsłania tagi inaczej w zależności od tego, co oznaczysz:
- Tagi orkiestracji są przechowywane jako metadane na instancji orkiestracji. Tagi przekazywane podczas wywoływania podrzędnej orkiestracji stają się metadanymi instancji podrzędnej orkiestracji. Możesz czytać te tagi i filtrować instancje orkiestracji po tagu.
- Tagi aktywności są przechowywane na zaplanowanym zdarzeniu aktywności w historii orkiestracji nadrzędnej. Możesz je przeglądać w historii orkiestracji, ale nie są indeksowane ani dostępne w zapytaniach o tagi orkiestracji. Tagi aktywności również nie są przekazywane do funkcji aktywności.
Ustalaj tagi, gdy planujesz orkiestrację, aktywność lub suborkiestrację. Nie możesz potem zmieniać tagów.
Ustaw niestandardową nazwę wyświetlaną
Użyj znanego tagu, aby nadać orkiestracji, suborkiestracji lub aktywności nazwę przeznaczoną dla osób oglądających durabletask.displayName run. Gdy ten tag ma niepustą wartość, pulpit nawigacyjny Durable Task Scheduler pokazuje tę wartość wszędzie tam, gdzie w przeciwnym razie wyświetlana byłaby zarejestrowana nazwa, w tym na liście orkiestracji, w widokach przepływu i sekwencji oraz w panelach szczegółów.
Zarejestrowane nazwisko nie jest odrzucane ani zmieniane. Pozostaje dostępny w podpowiedzi i szczegółach w panelu, a niestandardowa nazwa wyświetlana nie wpływa na to, jaki kod jest uruchamiany. Jeśli tag jest nieobecny lub pusty, dashboard pokazuje zarejestrowaną nazwę jak zwykle.
Important
Prefiks durabletask. jest zarezerwowany dla platformy. Panel ukrywa tagi, których klucze zaczynają się od durabletask. normalnej listy tagów, dzięki czemu tagi platformowe, takie jak durabletask.displayName, nie pojawiają się ani jako interpretowane metadane, ani jako surowe tagi. Nie tworz własnych kluczy tagów pod tym prefiksem durabletask. .
Dodaj tagi do instancji orkiestracji
var options = new StartOrchestrationOptions
{
InstanceId = "order-12345",
Tags = new Dictionary<string, string>
{
{ "environment", "production" },
{ "tenant", "contoso" },
},
};
string instanceId = await client.ScheduleNewOrchestrationInstanceAsync(
"ProcessOrderOrchestration", input: order, options: options);
Dodaj tagi do aktywności
var options = new TaskOptions(tags: new Dictionary<string, string>
{
{ "scheduleId", scheduleId },
});
await context.CallActivityAsync(nameof(CacheClearingActivity), options);
Dodaj tagi do podrzędnej orkiestracji
var options = new SubOrchestrationOptions
{
Tags = new Dictionary<string, string>
{
{ "workflowType", "order-processing" },
},
};
await context.CallSubOrchestratorAsync(
"ValidateOrderOrchestration", input: order, options: options);
Odczytaj tagi orkiestracji
OrchestrationMetadata? instance = await client.GetInstanceAsync(instanceId);
if (instance is not null)
{
foreach (KeyValuePair<string, string> tag in instance.Tags)
{
Console.WriteLine($"{tag.Key} = {tag.Value}");
}
}
Tagi zapytań
Na pulpicie nawigacyjnym Durable Task Scheduler użyj filtru Tag, aby filtrować instancje orkiestracji na podstawie tagu orkiestracji. Filtr dopasowuje się do klucza lub wartości tagu. Lista orkiestracji wyświetla również tagi orkiestracji w kolumnie.
Tagi aktywności pojawiają się w zaplanowanym zdarzeniu aktywności w historii orkiestracji. Nie są uwzględnione w filtrze tagów na liście orkiestracji.
Wskazówki dotyczące tagów
- Używaj spójnych kluczy — Stosuj konwencję nazewnictwa, aby móc niezawodnie filtrować instancje orkiestracji i korelować aktywności.
- Dbaj o to, by tagi były znaczące — Używaj wartości, które zapewniają odpowiedni kontekst.
- Użyj wartości ciągu — klucze i wartości są ciągami.
- Rozmiar tagu Mind Orchestration — Kompletny słownik tagów orkiestracji zserializowany do formatu JSON może mieć maksymalnie 1 000 bajtów. Limit ten obejmuje wszystkie klucze i wartości, a znaki wielobajtowe UTF-8 liczą się jako więcej niż jeden bajt każdy. Znaczniki aktywności nie podlegają temu limitowi metadanych instancji orkiestracji, ale zwiększają rozmiar historii orkiestracji.
Ograniczenia
- Tagi są niezmienne po zaplanowaniu orkiestracji, aktywności lub suborkiestracji.
- Klucze i wartości tagów są ciągami znaków.
- Możesz przeglądać tagi aktywności w historii orkiestracji, ale nie możesz wykonywać względem nich zapytań. Nie możesz też przekazać ich do funkcji aktywności.