Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Taggar är nyckelvärdespar som du kan fästa vid orkestreringar, aktiviteter och del-orkestreringar för att lägga till anpassad metadata. Använd taggar för att kategorisera och korrelera arbetet medan det körs. Du kan också använda orkestreringstaggar för att fråga orkestreringsinstanser.
Du kan lägga till taggar i:
- Orkestreringsinstanser — när du startar en ny orkestrering från klienten.
- Aktiviteter – när en orkestrerare schemalägger en aktivitet.
- Delorkestreringar — när en orkestrerare schemalägger en delorkestrering.
Stöd för SDK och tillägg
| SDK/tillägg | Taggar för orkestrering | Aktivitetstaggar | Taggar för underorkestrering | Läs orkestreringstaggar |
|---|---|---|---|---|
Durable Task .NET SDK (durabletask-dotnet) |
✅ | ✅ | ✅ | ✅ |
Durable Task JavaScript SDK (durabletask-js) |
✅ | ✅ | ✅ | ✅ |
Durable Task Python SDK (durabletask-python) |
✅ | ✅ | ❌ |
❌ (visas inte i OrchestrationState) |
Durable Task Java SDK (durabletask-java) |
✅ (v1.6.0+) |
❌ (TaskOptions är endast återförsök) |
❌ | ✅ |
| Durable Functions: .NET isolerad | ✅ | ✅ | ✅ | ✅ |
| Durable Functions: .NET i processen | ❌ | ❌ | ❌ | ❌ |
| Durable Functions: JavaScript | ❌ | ❌ | ❌ | ❌ |
| Durable Functions: Python | ❌ | ❌ | ❌ | ❌ |
| Durable Functions: Java | ✅ | ❌ | ❌ | ✅ |
Så här fungerar taggar
När du schemalägger en orkestrering, aktivitet eller sub-orkestrering kan du tillhandahålla en ordbok över sträng-nyckel-värdepar som taggar. Durable Task Scheduler lagrar och exponerar taggar olika beroende på vad du taggar:
- Orkestreringstaggar lagras som metadata på orkestreringsinstansen. Taggar som du anger när du anropar en underorkestrering blir metadata för den underordnade orkestreringsinstansen. Du kan läsa dessa taggar och filtrera orkestreringsinstanser efter tagg.
- Aktivitetstaggar lagras i aktivitetens schemalagda händelse i den överordnade orkestreringens historik. Du kan granska dem i orkestreringshistoriken, men de är inte indexerade eller tillgängliga i orkestreringstaggfrågor. Aktivitetstaggar skickas inte heller vidare till aktivitetsfunktionen.
Sätt taggar när du schemalägger orkestrering, aktivitet eller sub-orkestrering. Du kan inte byta taggar efteråt.
Sätt ett eget visningsnamn
Använd den välkända durabletask.displayName taggen för att ge en orkestrering, suborkestrering eller aktivitet ett namn avsett för personer som tittar på en runda. När denna tagg har ett icke-tomt värde visar Durable Task Scheduler-dashboarden det värdet där den annars skulle visa det registrerade namnet, inklusive orkestreringslistan, flödes- och sekvensvyer samt detaljpaneler.
Det registrerade namnet kastas inte bort eller ändras. Det finns kvar i dashboardens verktygstips och detaljer, och det anpassade visningsnamnet påverkar inte vilken kod som körs. Om taggen saknas eller är tom, visar dashboarden det registrerade namnet som vanligt.
Important
Prefixet durabletask. är reserverat för plattformen. Instrumentpanelen döljer taggar vars nycklar börjar med durabletask. från den vanliga tagglistan så plattformstaggar, såsom durabletask.displayName, inte visas både som tolkad metadata och som råtaggar. Skapa inte egna taggnycklar under prefixet durabletask. .
Lägga till taggar i en orkestreringsinstans
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);
Lägga till taggar i en aktivitet
var options = new TaskOptions(tags: new Dictionary<string, string>
{
{ "scheduleId", scheduleId },
});
await context.CallActivityAsync(nameof(CacheClearingActivity), options);
Lägg till taggar på en underorkestrering
var options = new SubOrchestrationOptions
{
Tags = new Dictionary<string, string>
{
{ "workflowType", "order-processing" },
},
};
await context.CallSubOrchestratorAsync(
"ValidateOrderOrchestration", input: order, options: options);
Läs orkestreringstaggar
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}");
}
}
Frågetaggar
I instrumentpanelen för Durable Task Scheduler använder du taggfiltret för att filtrera orkestreringsinstanser efter orkestreringstagg. Filtret matchar taggnyckeln eller värdet. Orkestreringslistan visar också orkestreringstaggar som kolumn.
Aktivitetstaggar visas i aktivitetens schemalagda händelse i orkestreringshistoriken. De ingår inte i orkestreringslistans taggfilter.
Riktlinjer för taggar
- Använd konsekventa nycklar — Följ en namngivningskonvention så att du pålitligt kan filtrera orkestreringsinstanser och korrelera aktiviteter.
- Behåll taggarna meningsfulla – Använd värden som ger kontext.
- Använd strängvärden – Nycklar och värden är strängar.
- Taggstorlek för Mind-orkestrering — Den kompletta JSON-serialiserade ordboken för orkestreringstaggar kan vara upp till 1 000 byte. Denna gräns inkluderar alla nycklar och värden, och multibyte UTF-8-tecken räknas som mer än en byte vardera. Aktivitetstaggar använder inte denna metadatagräns för orkestreringsinstanser, men de bidrar till storleken på orkestreringshistoriken.
Limitations
- Taggar kan inte ändras efter att orkestreringen, aktiviteten eller underorkestreringen har schemalagts.
- Taggnycklar och -värden är strängar.
- Du kan granska aktivitetstaggar i orkestreringshistoriken, men du kan inte göra frågor mot dem. Du kan inte heller skicka dem till aktivitetsfunktioner.