DurableOrchestrationContext class

Stellt Funktionen für den Anwendungscode bereit, der einen Orchestrierungsvorgang implementiert.

Eigenschaften

currentUtcDateTime

Ruft das aktuelle Datum/die aktuelle Uhrzeit auf eine Weise ab, die für die Verwendung durch Orchestratorfunktionen sicher ist.

Dieser Datums-/Uhrzeitwert wird vom Orchestrierungsverlauf abgeleitet. Er gibt immer denselben Wert an bestimmten Punkten im Orchestratorfunktionscode zurück, wodurch er für die Wiedergabe deterministisch und sicher ist.

customStatus

Benutzerdefinierter Status für die Orchestrierung

instanceId

Die ID der aktuellen Orchestrierungsinstanz.

Die Instanz-ID wird generiert und beim Planen der Orchestratorfunktion behoben. Es kann entweder automatisch generiert werden, in diesem Fall als GUID formatiert, oder es kann mit jedem beliebigen Format vom Benutzer angegeben werden.

isReplaying

Ruft einen Wert ab, der angibt, ob die Orchestratorfunktion derzeit selbst wiedergegeben wird.

Diese Eigenschaft ist nützlich, wenn logik vorhanden ist, die nur ausgeführt werden muss, wenn die Orchestratorfunktion nicht Wiedergabe ausgeführt wird. Beispielsweise können bestimmte Arten der Anwendungsprotokollierung zu laut werden, wenn sie als Teil der Wiedergabe der Orchestratorfunktion dupliziert werden. Der Orchestratorcode konnte überprüfen, ob die Funktion wiedergegeben wird, und dann die Protokollanweisungen ausstellen, wenn dieser Wert falseist.

parentInstanceId

Die ID der übergeordneten Orchestrierung der aktuellen Unterorchesterinstanz. Der Wert ist nur in Unter-Orchestrierungen verfügbar.

Die id der übergeordneten Instanz wird generiert und beim Planen der übergeordneten Orchestratorfunktion behoben. Es kann entweder automatisch generiert werden, in diesem Fall als GUID formatiert, oder es kann mit jedem beliebigen Format vom Benutzer angegeben werden.

Task

Einstiegspunkt für Methoden zum Behandeln von Auflistungen ausstehender Aktionen, die durch Task Instanzen dargestellt werden. Zur Verwendung in Parallelisierungsvorgängen.

Methoden

callActivity(string, unknown)

Plant eine Aktivitätsfunktion namens name für die Ausführung.

callActivityWithRetry(string, RetryOptions, unknown)

Plant eine Aktivitätsfunktion namens name für die Ausführung mit Wiederholungsoptionen.

callEntity(EntityId, string, unknown)

Ruft einen Vorgang für eine Entität auf, übergibt ein Argument und wartet darauf, bis er abgeschlossen ist.

callHttp(CallHttpOptions)

Plant einen dauerhaften HTTP-Aufruf an den angegebenen Endpunkt.

callSubOrchestrator(string, unknown, string)

Plant eine Orchestrierungsfunktion namens name für die Ausführung.

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Plant eine Orchestratorfunktion namens name für die Ausführung mit Wiederholungsoptionen.

continueAsNew(unknown)

Startet die Orchestrierung neu, indem die Geschichte gelöscht wird.

createTimer(Date)

Erstellt einen dauerhaften Timer, der zu einem bestimmten Zeitpunkt abläuft.

Alle dauerhaften Zeitgeber, die mit dieser Methode erstellt wurden, müssen entweder ablaufen oder mit TimerTask.cancel() abgebrochen werden, bevor die Orchestratorfunktion abgeschlossen ist. Andernfalls behält das zugrunde liegende Framework die Instanz am Leben, bis der Timer abläuft.

getInput<T>()

Ruft die Eingabe der aktuellen Orchestratorfunktion als deserialisierten Wert ab.

newGuid(string)

Erstellt eine neue GUID, die für die Wiedergabe innerhalb einer Orchestrierung oder eines Vorgangs sicher ist.

Die Standardimplementierung dieser Methode erstellt eine namensbasierte UUID mit dem Algorithmus aus RFC 4122 §4.3. Die Zum Generieren dieses Werts verwendete Namenseingabe ist eine Kombination aus der Orchestrierungsinstanz-ID und einer intern verwalteten Sequenznummer.

setCustomStatus(unknown)

Legt den JSON-serialisierbaren Status der aktuellen Orchestratorfunktion fest.

Der customStatusObject Wert wird in JSON serialisiert und wird den Orchestrierungsstatus-API zur Verfügung gestellt. Der serialisierte JSON-Wert darf 16 KB UTF-16-codierter Text nicht überschreiten.

Der serialisierte customStatusObject-Wert wird den oben genannten APIs nach der nächsten yield- oder return-Anweisung zur Verfügung gestellt.

signalEntity(EntityId, string, unknown)

Senden Sie einen Signalvorgang an eine dauerhafte Entität, und übergeben Sie ein Argument, ohne auf eine Antwort zu warten. Ein Feuer-und-Vergessen-Vorgang.

waitForExternalEvent(string)

Wartet asynchron, bis ein Ereignis mit dem Namen name ausgelöst wird und gibt die Ereignisdaten zurück.

Externe Clients können Ereignisse mithilfe von raiseEvent()auf eine wartende Orchestrierungsinstanz auslösen.

Details zur Eigenschaft

currentUtcDateTime

Ruft das aktuelle Datum/die aktuelle Uhrzeit auf eine Weise ab, die für die Verwendung durch Orchestratorfunktionen sicher ist.

Dieser Datums-/Uhrzeitwert wird vom Orchestrierungsverlauf abgeleitet. Er gibt immer denselben Wert an bestimmten Punkten im Orchestratorfunktionscode zurück, wodurch er für die Wiedergabe deterministisch und sicher ist.

currentUtcDateTime: Date

Eigenschaftswert

Date

customStatus

Benutzerdefinierter Status für die Orchestrierung

customStatus: unknown

Eigenschaftswert

unknown

instanceId

Die ID der aktuellen Orchestrierungsinstanz.

Die Instanz-ID wird generiert und beim Planen der Orchestratorfunktion behoben. Es kann entweder automatisch generiert werden, in diesem Fall als GUID formatiert, oder es kann mit jedem beliebigen Format vom Benutzer angegeben werden.

instanceId: string

Eigenschaftswert

string

isReplaying

Ruft einen Wert ab, der angibt, ob die Orchestratorfunktion derzeit selbst wiedergegeben wird.

Diese Eigenschaft ist nützlich, wenn logik vorhanden ist, die nur ausgeführt werden muss, wenn die Orchestratorfunktion nicht Wiedergabe ausgeführt wird. Beispielsweise können bestimmte Arten der Anwendungsprotokollierung zu laut werden, wenn sie als Teil der Wiedergabe der Orchestratorfunktion dupliziert werden. Der Orchestratorcode konnte überprüfen, ob die Funktion wiedergegeben wird, und dann die Protokollanweisungen ausstellen, wenn dieser Wert falseist.

isReplaying: boolean

Eigenschaftswert

boolean

parentInstanceId

Die ID der übergeordneten Orchestrierung der aktuellen Unterorchesterinstanz. Der Wert ist nur in Unter-Orchestrierungen verfügbar.

Die id der übergeordneten Instanz wird generiert und beim Planen der übergeordneten Orchestratorfunktion behoben. Es kann entweder automatisch generiert werden, in diesem Fall als GUID formatiert, oder es kann mit jedem beliebigen Format vom Benutzer angegeben werden.

parentInstanceId: undefined | string

Eigenschaftswert

undefined | string

Task

Einstiegspunkt für Methoden zum Behandeln von Auflistungen ausstehender Aktionen, die durch Task Instanzen dargestellt werden. Zur Verwendung in Parallelisierungsvorgängen.

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

Eigenschaftswert

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

Details zur Methode

callActivity(string, unknown)

Plant eine Aktivitätsfunktion namens name für die Ausführung.

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

Parameter

name

string

Der Name der aktivitätsfunktion, die aufgerufen werden soll.

input

unknown

Die JSON-serialisierbare Eingabe, die an die Aktivitätsfunktion übergeben werden soll.

Gibt zurück

Ein dauerhafter Vorgang, der abgeschlossen wird, wenn die aufgerufene Aktivitätsfunktion abgeschlossen ist oder fehlschlägt.

callActivityWithRetry(string, RetryOptions, unknown)

Plant eine Aktivitätsfunktion namens name für die Ausführung mit Wiederholungsoptionen.

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

Parameter

name

string

Der Name der aktivitätsfunktion, die aufgerufen werden soll.

retryOptions
RetryOptions

Die Wiederholungsoptionen für die Aktivitätsfunktion.

input

unknown

Die JSON-serialisierbare Eingabe, die an die Aktivitätsfunktion übergeben werden soll.

Gibt zurück

callEntity(EntityId, string, unknown)

Ruft einen Vorgang für eine Entität auf, übergibt ein Argument und wartet darauf, bis er abgeschlossen ist.

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

Parameter

entityId
EntityId

Die Zielentität.

operationName

string

Der Name des Vorgangs.

operationInput

unknown

Die Eingabe für den Vorgang.

Gibt zurück

callHttp(CallHttpOptions)

Plant einen dauerhaften HTTP-Aufruf an den angegebenen Endpunkt.

function callHttp(options: CallHttpOptions): Task

Parameter

options
CallHttpOptions

Das HTTP-Optionsobjekt

Gibt zurück

callSubOrchestrator(string, unknown, string)

Plant eine Orchestrierungsfunktion namens name für die Ausführung.

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

Parameter

name

string

Der Name der orchestrator-Funktion, die aufgerufen werden soll.

input

unknown

Die JSON-serialisierbare Eingabe, die an die Orchestratorfunktion übergeben werden soll.

instanceId

string

Eine eindeutige ID, die für die Unter-Orchestrierungsinstanz verwendet werden soll. Wenn instanceId nicht angegeben ist, generiert die Erweiterung eine ID im Format <calling orchestrator instance ID>:<#>

Gibt zurück

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Plant eine Orchestratorfunktion namens name für die Ausführung mit Wiederholungsoptionen.

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

Parameter

name

string

Der Name der orchestrator-Funktion, die aufgerufen werden soll.

retryOptions
RetryOptions

Die Wiederholungsoptionen für die Orchestratorfunktion.

input

unknown

Die JSON-serialisierbare Eingabe, die an die Orchestratorfunktion übergeben werden soll.

instanceId

string

Eine eindeutige ID, die für die Unter-Orchestrierungsinstanz verwendet werden soll.

Gibt zurück

continueAsNew(unknown)

Startet die Orchestrierung neu, indem die Geschichte gelöscht wird.

function continueAsNew(input: unknown)

Parameter

input

unknown

Die JSON-serialisierbaren Daten, mit der die Instanz neu initialisiert werden soll.

createTimer(Date)

Erstellt einen dauerhaften Timer, der zu einem bestimmten Zeitpunkt abläuft.

Alle dauerhaften Zeitgeber, die mit dieser Methode erstellt wurden, müssen entweder ablaufen oder mit TimerTask.cancel() abgebrochen werden, bevor die Orchestratorfunktion abgeschlossen ist. Andernfalls behält das zugrunde liegende Framework die Instanz am Leben, bis der Timer abläuft.

function createTimer(fireAt: Date): TimerTask

Parameter

fireAt

Date

Der Zeitpunkt, zu dem der Timer ablaufen soll.

Gibt zurück

Ein TimerTask, der abgeschlossen wird, wenn der dauerhafte Timer abläuft.

getInput<T>()

Ruft die Eingabe der aktuellen Orchestratorfunktion als deserialisierten Wert ab.

function getInput<T>(): T

Gibt zurück

T

newGuid(string)

Erstellt eine neue GUID, die für die Wiedergabe innerhalb einer Orchestrierung oder eines Vorgangs sicher ist.

Die Standardimplementierung dieser Methode erstellt eine namensbasierte UUID mit dem Algorithmus aus RFC 4122 §4.3. Die Zum Generieren dieses Werts verwendete Namenseingabe ist eine Kombination aus der Orchestrierungsinstanz-ID und einer intern verwalteten Sequenznummer.

function newGuid(input: string): string

Parameter

input

string

wird verwendet, um die eindeutige GUID zu generieren.

Gibt zurück

string

setCustomStatus(unknown)

Legt den JSON-serialisierbaren Status der aktuellen Orchestratorfunktion fest.

Der customStatusObject Wert wird in JSON serialisiert und wird den Orchestrierungsstatus-API zur Verfügung gestellt. Der serialisierte JSON-Wert darf 16 KB UTF-16-codierter Text nicht überschreiten.

Der serialisierte customStatusObject-Wert wird den oben genannten APIs nach der nächsten yield- oder return-Anweisung zur Verfügung gestellt.

function setCustomStatus(customStatusObject: unknown)

Parameter

customStatusObject

unknown

Der JSON-serialisierbare Wert, der als benutzerdefinierter Status der Orchestratorfunktion verwendet werden soll.

signalEntity(EntityId, string, unknown)

Senden Sie einen Signalvorgang an eine dauerhafte Entität, und übergeben Sie ein Argument, ohne auf eine Antwort zu warten. Ein Feuer-und-Vergessen-Vorgang.

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

Parameter

entityId
EntityId

ID der Zielentität.

operationName

string

Der Name des Vorgangs.

operationInput

unknown

(optional) Eingabe für den Vorgang.

waitForExternalEvent(string)

Wartet asynchron, bis ein Ereignis mit dem Namen name ausgelöst wird und gibt die Ereignisdaten zurück.

Externe Clients können Ereignisse mithilfe von raiseEvent()auf eine wartende Orchestrierungsinstanz auslösen.

function waitForExternalEvent(name: string): Task

Parameter

name

string

Der Name des externen Ereignisses, auf das gewartet werden soll.

Gibt zurück

eine Aufgabe, die abgeschlossen wird, wenn ein externes Ereignis des angegebenen Namens empfangen wird