Dela via


DurableOrchestrationContext class

Tillhandahåller funktioner för programkod som implementerar en orkestreringsåtgärd.

Egenskaper

currentUtcDateTime

Hämtar aktuellt datum/tid på ett sätt som är säkert för orkestreringsfunktioner.

Det här datum-/tidsvärdet härleds från orkestreringshistoriken. Det returnerar alltid samma värde vid specifika punkter i orchestrator-funktionskoden, vilket gör det deterministiskt och säkert för repris.

customStatus

Anpassad status för orkestreringen

instanceId

ID för den aktuella orkestreringsinstansen.

Instans-ID:t genereras och åtgärdas när orchestrator-funktionen schemaläggs. Den kan antingen genereras automatiskt, i så fall formateras den som ett GUID, eller så kan den anges av användaren med valfritt format.

isReplaying

Hämtar ett värde som anger om orchestrator-funktionen för närvarande spelar upp sig själv.

Den här egenskapen är användbar när det finns logik som bara behöver köras när orkestreringsfunktionen inte omspelning. Vissa typer av programloggning kan till exempel bli för bullriga när de dupliceras som en del av orchestrator-funktionsrepris. Orchestrator-koden kan kontrollera om funktionen spelas upp igen och sedan utfärda logginstruktionerna när det här värdet är false.

parentInstanceId

ID för den överordnade orkestreringen för den aktuella underorkestreringsinstansen. Värdet är endast tillgängligt i underorkestreringar.

Det överordnade instans-ID:t genereras och åtgärdas när den överordnade orkestreringsfunktionen schemaläggs. Den kan antingen genereras automatiskt, i så fall formateras den som ett GUID, eller så kan den anges av användaren med valfritt format.

Task

Startpunkt för metoder för att hantera samlingar med väntande åtgärder som representeras av uppgift instanser. För användning i parallelliseringsåtgärder.

Metoder

callActivity(string, unknown)

Schemalägger en aktivitetsfunktion med namnet name för körning.

callActivityWithRetry(string, RetryOptions, unknown)

Schemalägger en aktivitetsfunktion med namnet name för körning med återförsöksalternativ.

callEntity(EntityId, string, unknown)

Anropar en åtgärd på en entitet, skickar ett argument och väntar tills den har slutförts.

callHttp(CallHttpOptions)

Schemalägger ett beständigt HTTP-anrop till den angivna slutpunkten.

callSubOrchestrator(string, unknown, string)

Schemalägger en orkestreringsfunktion med namnet name för körning.

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Schemalägger en orchestrator-funktion med namnet name för körning med återförsöksalternativ.

continueAsNew(unknown)

Startar om orkestreringen genom att rensa dess historik.

createTimer(Date)

Skapar en varaktig timer som upphör att gälla vid en angiven tidpunkt.

Alla varaktiga timers som skapas med den här metoden måste antingen upphöra att gälla eller avbrytas med hjälp av TimerTask.cancel() innan orchestrator-funktionen slutförs. Annars håller det underliggande ramverket instansen vid liv tills timern upphör att gälla.

getInput<T>()

Hämtar indata för den aktuella orkestreringsfunktionen som ett deserialiserat värde.

newGuid(string)

Skapar ett nytt GUID som är säkert för repris inom en orkestrering eller åtgärd.

Standardimplementeringen av den här metoden skapar ett namnbaserat UUID med hjälp av algoritmen från RFC 4122 §4.3. Namnindata som används för att generera det här värdet är en kombination av orkestreringsinstans-ID:t och ett internt hanterat sekvensnummer.

setCustomStatus(unknown)

Anger JSON-serialiserbar status för den aktuella orkestreringsfunktionen.

Värdet customStatusObject serialiseras till JSON och görs tillgängligt för API:erna för orkestreringsstatusfrågor. Det serialiserade JSON-värdet får inte överstiga 16 KB UTF-16-kodad text.

Det serialiserade customStatusObject-värdet görs tillgängligt för ovan nämnda API:er efter nästa yield- eller return-instruktion.

signalEntity(EntityId, string, unknown)

Skicka en signalåtgärd till en varaktig entitet och skicka ett argument utan att vänta på ett svar. En eld-och-glöm-operation.

waitForExternalEvent(string)

Väntar asynkront på att en händelse ska aktiveras med namnet name och returnerar händelsedata.

Externa klienter kan skapa händelser till en väntande orkestreringsinstans med hjälp av raiseEvent().

Egenskapsinformation

currentUtcDateTime

Hämtar aktuellt datum/tid på ett sätt som är säkert för orkestreringsfunktioner.

Det här datum-/tidsvärdet härleds från orkestreringshistoriken. Det returnerar alltid samma värde vid specifika punkter i orchestrator-funktionskoden, vilket gör det deterministiskt och säkert för repris.

currentUtcDateTime: Date

Egenskapsvärde

Date

customStatus

Anpassad status för orkestreringen

customStatus: unknown

Egenskapsvärde

unknown

instanceId

ID för den aktuella orkestreringsinstansen.

Instans-ID:t genereras och åtgärdas när orchestrator-funktionen schemaläggs. Den kan antingen genereras automatiskt, i så fall formateras den som ett GUID, eller så kan den anges av användaren med valfritt format.

instanceId: string

Egenskapsvärde

string

isReplaying

Hämtar ett värde som anger om orchestrator-funktionen för närvarande spelar upp sig själv.

Den här egenskapen är användbar när det finns logik som bara behöver köras när orkestreringsfunktionen inte omspelning. Vissa typer av programloggning kan till exempel bli för bullriga när de dupliceras som en del av orchestrator-funktionsrepris. Orchestrator-koden kan kontrollera om funktionen spelas upp igen och sedan utfärda logginstruktionerna när det här värdet är false.

isReplaying: boolean

Egenskapsvärde

boolean

parentInstanceId

ID för den överordnade orkestreringen för den aktuella underorkestreringsinstansen. Värdet är endast tillgängligt i underorkestreringar.

Det överordnade instans-ID:t genereras och åtgärdas när den överordnade orkestreringsfunktionen schemaläggs. Den kan antingen genereras automatiskt, i så fall formateras den som ett GUID, eller så kan den anges av användaren med valfritt format.

parentInstanceId: undefined | string

Egenskapsvärde

undefined | string

Task

Startpunkt för metoder för att hantera samlingar med väntande åtgärder som representeras av uppgift instanser. För användning i parallelliseringsåtgärder.

Task: { all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }

Egenskapsvärde

{ all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }

Metodinformation

callActivity(string, unknown)

Schemalägger en aktivitetsfunktion med namnet name för körning.

function callActivity(name: string, input?: unknown): Task

Parametrar

name

string

Namnet på den aktivitetsfunktion som ska anropas.

input

unknown

JSON-serializable-indata som ska skickas till aktivitetsfunktionen.

Returer

En varaktig aktivitet som slutförs när den anropade aktivitetsfunktionen slutförs eller misslyckas.

callActivityWithRetry(string, RetryOptions, unknown)

Schemalägger en aktivitetsfunktion med namnet name för körning med återförsöksalternativ.

function callActivityWithRetry(name: string, retryOptions: RetryOptions, input?: unknown): Task

Parametrar

name

string

Namnet på den aktivitetsfunktion som ska anropas.

retryOptions
RetryOptions

Återförsöksalternativen för aktivitetsfunktionen.

input

unknown

JSON-serializable-indata som ska skickas till aktivitetsfunktionen.

Returer

callEntity(EntityId, string, unknown)

Anropar en åtgärd på en entitet, skickar ett argument och väntar tills den har slutförts.

function callEntity(entityId: EntityId, operationName: string, operationInput?: unknown): Task

Parametrar

entityId
EntityId

Målentiteten.

operationName

string

Namnet på åtgärden.

operationInput

unknown

Indata för åtgärden.

Returer

callHttp(CallHttpOptions)

Schemalägger ett beständigt HTTP-anrop till den angivna slutpunkten.

function callHttp(options: CallHttpOptions): Task

Parametrar

options
CallHttpOptions

HTTP-alternativobjektet

Returer

callSubOrchestrator(string, unknown, string)

Schemalägger en orkestreringsfunktion med namnet name för körning.

function callSubOrchestrator(name: string, input?: unknown, instanceId?: string): Task

Parametrar

name

string

Namnet på orkestreringsfunktionen som ska anropas.

input

unknown

JSON-serializable-indata som ska skickas till orchestrator-funktionen.

instanceId

string

Ett unikt ID som ska användas för underorkestreringsinstansen. Om instanceId inte anges genererar tillägget ett ID i formatet <calling orchestrator instance ID>:<#>

Returer

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Schemalägger en orchestrator-funktion med namnet name för körning med återförsöksalternativ.

function callSubOrchestratorWithRetry(name: string, retryOptions: RetryOptions, input?: unknown, instanceId?: string): Task

Parametrar

name

string

Namnet på orkestreringsfunktionen som ska anropas.

retryOptions
RetryOptions

Återförsöksalternativen för orkestreringsfunktionen.

input

unknown

JSON-serializable-indata som ska skickas till orchestrator-funktionen.

instanceId

string

Ett unikt ID som ska användas för underorkestreringsinstansen.

Returer

continueAsNew(unknown)

Startar om orkestreringen genom att rensa dess historik.

function continueAsNew(input: unknown)

Parametrar

input

unknown

JSON-serialiserbara data för att initiera instansen igen med.

createTimer(Date)

Skapar en varaktig timer som upphör att gälla vid en angiven tidpunkt.

Alla varaktiga timers som skapas med den här metoden måste antingen upphöra att gälla eller avbrytas med hjälp av TimerTask.cancel() innan orchestrator-funktionen slutförs. Annars håller det underliggande ramverket instansen vid liv tills timern upphör att gälla.

function createTimer(fireAt: Date): TimerTask

Parametrar

fireAt

Date

Den tid då timern ska upphöra att gälla.

Returer

En TimerTask som slutförs när den varaktiga timern upphör att gälla.

getInput<T>()

Hämtar indata för den aktuella orkestreringsfunktionen som ett deserialiserat värde.

function getInput<T>(): T

Returer

T

newGuid(string)

Skapar ett nytt GUID som är säkert för repris inom en orkestrering eller åtgärd.

Standardimplementeringen av den här metoden skapar ett namnbaserat UUID med hjälp av algoritmen från RFC 4122 §4.3. Namnindata som används för att generera det här värdet är en kombination av orkestreringsinstans-ID:t och ett internt hanterat sekvensnummer.

function newGuid(input: string): string

Parametrar

input

string

används för att generera det unika GUID:et

Returer

string

setCustomStatus(unknown)

Anger JSON-serialiserbar status för den aktuella orkestreringsfunktionen.

Värdet customStatusObject serialiseras till JSON och görs tillgängligt för API:erna för orkestreringsstatusfrågor. Det serialiserade JSON-värdet får inte överstiga 16 KB UTF-16-kodad text.

Det serialiserade customStatusObject-värdet görs tillgängligt för ovan nämnda API:er efter nästa yield- eller return-instruktion.

function setCustomStatus(customStatusObject: unknown)

Parametrar

customStatusObject

unknown

Det JSON-serialiserbara värde som ska användas som orkestreringsfunktionens anpassade status.

signalEntity(EntityId, string, unknown)

Skicka en signalåtgärd till en varaktig entitet och skicka ett argument utan att vänta på ett svar. En eld-och-glöm-operation.

function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)

Parametrar

entityId
EntityId

ID för målentiteten.

operationName

string

Namnet på åtgärden.

operationInput

unknown

(valfritt) indata för åtgärden.

waitForExternalEvent(string)

Väntar asynkront på att en händelse ska aktiveras med namnet name och returnerar händelsedata.

Externa klienter kan skapa händelser till en väntande orkestreringsinstans med hjälp av raiseEvent().

function waitForExternalEvent(name: string): Task

Parametrar

name

string

Namnet på den externa händelsen att vänta på.

Returer

en uppgift som slutförs när en extern händelse med det angivna namnet tas emot