Udostępnij za pośrednictwem


DurableOrchestrationContext class

Udostępnia funkcje kodu aplikacji implementujący operację orkiestracji.

Właściwości

currentUtcDateTime

Pobiera bieżącą datę/godzinę w sposób bezpieczny do użycia przez funkcje orkiestratora.

Ta wartość daty/godziny pochodzi z historii aranżacji. Zawsze zwraca tę samą wartość w określonych punktach w kodzie funkcji orkiestratora, dzięki czemu jest deterministyczny i bezpieczny do odtwarzania.

customStatus

Stan niestandardowy aranżacji

instanceId

Identyfikator bieżącego wystąpienia aranżacji.

Identyfikator wystąpienia jest generowany i naprawiony, gdy zaplanowano funkcję orkiestratora. Może być generowany automatycznie, w tym przypadku jest sformatowany jako identyfikator GUID lub może być określony przez użytkownika w dowolnym formacie.

isReplaying

Pobiera wartość wskazującą, czy funkcja orkiestratora jest obecnie ponownie wykonywana.

Ta właściwość jest przydatna, gdy istnieje logika, która musi być uruchamiana tylko wtedy, gdy funkcja orkiestratora nie jest ponownego wykonywania. Na przykład niektóre typy rejestrowania aplikacji mogą stać się zbyt hałaśliwe, gdy zduplikowane w ramach odtwarzania funkcji orkiestratora. Kod orkiestratora może sprawdzić, czy funkcja jest odtwarzana, a następnie wydać instrukcje dziennika, gdy ta wartość jest false.

parentInstanceId

Identyfikator orkiestracji nadrzędnej bieżącego wystąpienia orkiestracji podrzędnej. Wartość będzie dostępna tylko w podaranżach.

Identyfikator wystąpienia nadrzędnego jest generowany i naprawiony po zaplanowaniu funkcji nadrzędnej orkiestratora. Może być generowany automatycznie, w tym przypadku jest sformatowany jako identyfikator GUID lub może być określony przez użytkownika w dowolnym formacie.

Task

Punkt wejścia dla metod do obsługi kolekcji oczekujących akcji reprezentowanych przez wystąpienia Task. Do użycia w operacjach równoległych.

Metody

callActivity(string, unknown)

Planuje działanie o nazwie name do wykonania.

callActivityWithRetry(string, RetryOptions, unknown)

Planuje działanie o nazwie name do wykonania przy użyciu opcji ponawiania prób.

callEntity(EntityId, string, unknown)

Wywołuje operację na jednostce, przekazując argument i czekając na jej zakończenie.

callHttp(CallHttpOptions)

Planuje trwałe wywołanie HTTP do określonego punktu końcowego.

callSubOrchestrator(string, unknown, string)

Planuje funkcję orkiestracji o nazwie name do wykonania.

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Planuje funkcję orkiestratora o nazwie name do wykonania przy użyciu opcji ponawiania prób.

continueAsNew(unknown)

Ponownie uruchamia aranżację, usuwając jego historię.

createTimer(Date)

Tworzy trwały czasomierz, który wygasa w określonym czasie.

Wszystkie trwałe czasomierze utworzone przy użyciu tej metody muszą wygasnąć lub anulować przy użyciu TimerTask.cancel() przed ukończeniem funkcji orkiestratora. W przeciwnym razie podstawowa struktura będzie utrzymywać wystąpienie aktywne do momentu wygaśnięcia czasomierza.

getInput<T>()

Pobiera dane wejściowe bieżącej funkcji orkiestratora jako wartość deserializacji.

newGuid(string)

Tworzy nowy identyfikator GUID, który jest bezpieczny do odtwarzania w ramach orkiestracji lub operacji.

Domyślna implementacja tej metody tworzy identyfikator UUID oparty na nazwie przy użyciu algorytmu z RFC 4122 §4.3. Dane wejściowe nazwy używane do generowania tej wartości to kombinacja identyfikatora wystąpienia aranżacji i wewnętrznego numeru sekwencji zarządzanej.

setCustomStatus(unknown)

Ustawia stan serializowalny JSON bieżącej funkcji orkiestratora.

Wartość customStatusObject jest serializowana w formacie JSON i zostanie udostępniona interfejsom API zapytań stanu aranżacji. Serializowana wartość JSON nie może przekraczać 16 KB zakodowanego tekstu UTF-16.

Serializowana wartość customStatusObject zostanie udostępniona wyżej wymienionym interfejsom API po następnej instrukcji yield lub return.

signalEntity(EntityId, string, unknown)

Wyślij operację sygnału do jednostki trwałej, przekazując argument bez oczekiwania na odpowiedź. Operacja ognia i zapomnienia.

waitForExternalEvent(string)

Czeka asynchronicznie, aż zdarzenie zostanie zgłoszone z nazwą name i zwraca dane zdarzenia.

Klienci zewnętrzni mogą zgłaszać zdarzenia do oczekującego wystąpienia orkiestracji przy użyciu raiseEvent().

Szczegóły właściwości

currentUtcDateTime

Pobiera bieżącą datę/godzinę w sposób bezpieczny do użycia przez funkcje orkiestratora.

Ta wartość daty/godziny pochodzi z historii aranżacji. Zawsze zwraca tę samą wartość w określonych punktach w kodzie funkcji orkiestratora, dzięki czemu jest deterministyczny i bezpieczny do odtwarzania.

currentUtcDateTime: Date

Wartość właściwości

Date

customStatus

Stan niestandardowy aranżacji

customStatus: unknown

Wartość właściwości

unknown

instanceId

Identyfikator bieżącego wystąpienia aranżacji.

Identyfikator wystąpienia jest generowany i naprawiony, gdy zaplanowano funkcję orkiestratora. Może być generowany automatycznie, w tym przypadku jest sformatowany jako identyfikator GUID lub może być określony przez użytkownika w dowolnym formacie.

instanceId: string

Wartość właściwości

string

isReplaying

Pobiera wartość wskazującą, czy funkcja orkiestratora jest obecnie ponownie wykonywana.

Ta właściwość jest przydatna, gdy istnieje logika, która musi być uruchamiana tylko wtedy, gdy funkcja orkiestratora nie jest ponownego wykonywania. Na przykład niektóre typy rejestrowania aplikacji mogą stać się zbyt hałaśliwe, gdy zduplikowane w ramach odtwarzania funkcji orkiestratora. Kod orkiestratora może sprawdzić, czy funkcja jest odtwarzana, a następnie wydać instrukcje dziennika, gdy ta wartość jest false.

isReplaying: boolean

Wartość właściwości

boolean

parentInstanceId

Identyfikator orkiestracji nadrzędnej bieżącego wystąpienia orkiestracji podrzędnej. Wartość będzie dostępna tylko w podaranżach.

Identyfikator wystąpienia nadrzędnego jest generowany i naprawiony po zaplanowaniu funkcji nadrzędnej orkiestratora. Może być generowany automatycznie, w tym przypadku jest sformatowany jako identyfikator GUID lub może być określony przez użytkownika w dowolnym formacie.

parentInstanceId: undefined | string

Wartość właściwości

undefined | string

Task

Punkt wejścia dla metod do obsługi kolekcji oczekujących akcji reprezentowanych przez wystąpienia Task. Do użycia w operacjach równoległych.

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

Wartość właściwości

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

Szczegóły metody

callActivity(string, unknown)

Planuje działanie o nazwie name do wykonania.

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

Parametry

name

string

Nazwa funkcji działania do wywołania.

input

unknown

Dane wejściowe z możliwością serializacji JSON w celu przekazania do funkcji działania.

Zwraca

Trwałe zadanie, które kończy się po zakończeniu lub niepowołaniu wywoływanej funkcji działania.

callActivityWithRetry(string, RetryOptions, unknown)

Planuje działanie o nazwie name do wykonania przy użyciu opcji ponawiania prób.

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

Parametry

name

string

Nazwa funkcji działania do wywołania.

retryOptions
RetryOptions

Opcje ponawiania dla funkcji działania.

input

unknown

Dane wejściowe z możliwością serializacji JSON w celu przekazania do funkcji działania.

Zwraca

callEntity(EntityId, string, unknown)

Wywołuje operację na jednostce, przekazując argument i czekając na jej zakończenie.

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

Parametry

entityId
EntityId

Jednostka docelowa.

operationName

string

Nazwa operacji.

operationInput

unknown

Dane wejściowe dla operacji.

Zwraca

callHttp(CallHttpOptions)

Planuje trwałe wywołanie HTTP do określonego punktu końcowego.

function callHttp(options: CallHttpOptions): Task

Parametry

options
CallHttpOptions

Obiekt opcji HTTP

Zwraca

callSubOrchestrator(string, unknown, string)

Planuje funkcję orkiestracji o nazwie name do wykonania.

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

Parametry

name

string

Nazwa funkcji orkiestratora do wywołania.

input

unknown

Dane wejściowe z możliwością serializacji JSON do przekazania do funkcji orkiestratora.

instanceId

string

Unikatowy identyfikator do użycia dla wystąpienia podaranżacji. Jeśli instanceId nie zostanie określony, rozszerzenie wygeneruje identyfikator w formacie <calling orchestrator instance ID>:<#>

Zwraca

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Planuje funkcję orkiestratora o nazwie name do wykonania przy użyciu opcji ponawiania prób.

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

Parametry

name

string

Nazwa funkcji orkiestratora do wywołania.

retryOptions
RetryOptions

Opcje ponawiania dla funkcji orkiestratora.

input

unknown

Dane wejściowe z możliwością serializacji JSON do przekazania do funkcji orkiestratora.

instanceId

string

Unikatowy identyfikator do użycia dla wystąpienia podaranżacji.

Zwraca

continueAsNew(unknown)

Ponownie uruchamia aranżację, usuwając jego historię.

function continueAsNew(input: unknown)

Parametry

input

unknown

Dane z możliwością serializacji JSON w celu ponownego zainicjowania wystąpienia za pomocą polecenia .

createTimer(Date)

Tworzy trwały czasomierz, który wygasa w określonym czasie.

Wszystkie trwałe czasomierze utworzone przy użyciu tej metody muszą wygasnąć lub anulować przy użyciu TimerTask.cancel() przed ukończeniem funkcji orkiestratora. W przeciwnym razie podstawowa struktura będzie utrzymywać wystąpienie aktywne do momentu wygaśnięcia czasomierza.

function createTimer(fireAt: Date): TimerTask

Parametry

fireAt

Date

Czas wygaśnięcia czasomierza.

Zwraca

CzasomierzTask, który kończy się po wygaśnięciu trwałego czasomierza.

getInput<T>()

Pobiera dane wejściowe bieżącej funkcji orkiestratora jako wartość deserializacji.

function getInput<T>(): T

Zwraca

T

newGuid(string)

Tworzy nowy identyfikator GUID, który jest bezpieczny do odtwarzania w ramach orkiestracji lub operacji.

Domyślna implementacja tej metody tworzy identyfikator UUID oparty na nazwie przy użyciu algorytmu z RFC 4122 §4.3. Dane wejściowe nazwy używane do generowania tej wartości to kombinacja identyfikatora wystąpienia aranżacji i wewnętrznego numeru sekwencji zarządzanej.

function newGuid(input: string): string

Parametry

input

string

służy do generowania unikatowego identyfikatora GUID

Zwraca

string

setCustomStatus(unknown)

Ustawia stan serializowalny JSON bieżącej funkcji orkiestratora.

Wartość customStatusObject jest serializowana w formacie JSON i zostanie udostępniona interfejsom API zapytań stanu aranżacji. Serializowana wartość JSON nie może przekraczać 16 KB zakodowanego tekstu UTF-16.

Serializowana wartość customStatusObject zostanie udostępniona wyżej wymienionym interfejsom API po następnej instrukcji yield lub return.

function setCustomStatus(customStatusObject: unknown)

Parametry

customStatusObject

unknown

Wartość serializowalna JSON do użycia jako stan niestandardowy funkcji orkiestratora.

signalEntity(EntityId, string, unknown)

Wyślij operację sygnału do jednostki trwałej, przekazując argument bez oczekiwania na odpowiedź. Operacja ognia i zapomnienia.

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

Parametry

entityId
EntityId

Identyfikator jednostki docelowej.

operationName

string

Nazwa operacji.

operationInput

unknown

(opcjonalnie) dane wejściowe dla operacji.

waitForExternalEvent(string)

Czeka asynchronicznie, aż zdarzenie zostanie zgłoszone z nazwą name i zwraca dane zdarzenia.

Klienci zewnętrzni mogą zgłaszać zdarzenia do oczekującego wystąpienia orkiestracji przy użyciu raiseEvent().

function waitForExternalEvent(name: string): Task

Parametry

name

string

Nazwa zdarzenia zewnętrznego do oczekiwania.

Zwraca

zadanie, które kończy się po odebraniu zdarzenia zewnętrznego określonej nazwy