DurableOrchestrationContext class

Fournit des fonctionnalités pour le code d’application implémentant une opération d’orchestration.

Propriétés

currentUtcDateTime

Obtient la date/heure actuelle d’une manière sûre pour une utilisation par les fonctions d’orchestrateur.

Cette valeur de date/heure est dérivée de l’historique d’orchestration. Il retourne toujours la même valeur à des points spécifiques dans le code de fonction d’orchestrateur, ce qui en fait déterministe et sûr pour la relecture.

customStatus

État personnalisé de l’orchestration

instanceId

ID de l’instance d’orchestration actuelle.

L’ID d’instance est généré et corrigé lorsque la fonction d’orchestrateur est planifiée. Il peut être généré automatiquement, auquel cas il est mis en forme en tant que GUID, ou il peut être spécifié par l’utilisateur avec n’importe quel format.

isReplaying

Obtient une valeur indiquant si la fonction orchestrator est actuellement relecture elle-même.

Cette propriété est utile lorsqu’il existe une logique qui doit s’exécuter uniquement lorsque la fonction d’orchestrateur n’est pas relecture. Par exemple, certains types de journalisation des applications peuvent devenir trop bruyants lorsqu’ils sont dupliqués dans le cadre de la relecture de fonction d’orchestrateur. Le code d’orchestrateur peut vérifier si la fonction est relectée, puis émettre les instructions de journal lorsque cette valeur est false.

parentInstanceId

ID de l’orchestration parente de l’instance de sous-orchestration actuelle. La valeur sera disponible uniquement dans les sous-orchestrations.

L’ID d’instance parent est généré et résolu lorsque la fonction d’orchestrateur parente est planifiée. Il peut être généré automatiquement, auquel cas il est mis en forme en tant que GUID, ou il peut être spécifié par l’utilisateur avec n’importe quel format.

Task

Point d’entrée pour les méthodes permettant de gérer les collections d’actions en attente représentées par instances de tâche. Pour une utilisation dans les opérations de parallélisation.

Méthodes

callActivity(string, unknown)

Planifie une fonction d’activité nommée name pour l’exécution.

callActivityWithRetry(string, RetryOptions, unknown)

Planifie une fonction d’activité nommée name pour l’exécution avec des options de nouvelle tentative.

callEntity(EntityId, string, unknown)

Appelle une opération sur une entité, en passant un argument et attend qu’elle se termine.

callHttp(CallHttpOptions)

Planifie un appel HTTP durable vers le point de terminaison spécifié.

callSubOrchestrator(string, unknown, string)

Planifie une fonction d’orchestration nommée name pour l’exécution.

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Planifie une fonction d’orchestrateur nommée name pour l’exécution avec des options de nouvelle tentative.

continueAsNew(unknown)

Redémarre l’orchestration en désactivant son historique.

createTimer(Date)

Crée un minuteur durable qui expire à une heure spécifiée.

Tous les minuteurs durables créés à l’aide de cette méthode doivent expirer ou être annulés à l’aide de TimerTask.cancel() avant la fin de la fonction d’orchestrateur. Sinon, l’infrastructure sous-jacente conserve l’instance active jusqu’à l’expiration du minuteur.

getInput<T>()

Obtient l’entrée de la fonction orchestrator actuelle en tant que valeur désérialisée.

newGuid(string)

Crée un GUID sécurisé pour la relecture au sein d’une orchestration ou d’une opération.

L’implémentation par défaut de cette méthode crée un UUID basé sur un nom à l’aide de l’algorithme de RFC 4122 §4.3. L’entrée de nom utilisée pour générer cette valeur est une combinaison de l’ID d’instance d’orchestration et d’un numéro de séquence géré en interne.

setCustomStatus(unknown)

Définit l’état json-sérialisable de la fonction d’orchestrateur actuelle.

La valeur customStatusObject est sérialisée en JSON et sera mise à la disposition des API de requête d’état d’orchestration. La valeur JSON sérialisée ne doit pas dépasser 16 Ko de texte encodé en UTF-16.

La valeur de customStatusObject sérialisée sera mise à la disposition des API mentionnées ci-dessus après la prochaine instruction yield ou return.

signalEntity(EntityId, string, unknown)

Envoyez une opération de signal à une entité durable, en passant un argument, sans attendre une réponse. Une opération de feu et d’oubli.

waitForExternalEvent(string)

Attend de façon asynchrone qu’un événement soit déclenché avec le nom name et retourne les données d’événement.

Les clients externes peuvent déclencher des événements vers une instance d’orchestration en attente à l’aide de raiseEvent().

Détails de la propriété

currentUtcDateTime

Obtient la date/heure actuelle d’une manière sûre pour une utilisation par les fonctions d’orchestrateur.

Cette valeur de date/heure est dérivée de l’historique d’orchestration. Il retourne toujours la même valeur à des points spécifiques dans le code de fonction d’orchestrateur, ce qui en fait déterministe et sûr pour la relecture.

currentUtcDateTime: Date

Valeur de propriété

Date

customStatus

État personnalisé de l’orchestration

customStatus: unknown

Valeur de propriété

unknown

instanceId

ID de l’instance d’orchestration actuelle.

L’ID d’instance est généré et corrigé lorsque la fonction d’orchestrateur est planifiée. Il peut être généré automatiquement, auquel cas il est mis en forme en tant que GUID, ou il peut être spécifié par l’utilisateur avec n’importe quel format.

instanceId: string

Valeur de propriété

string

isReplaying

Obtient une valeur indiquant si la fonction orchestrator est actuellement relecture elle-même.

Cette propriété est utile lorsqu’il existe une logique qui doit s’exécuter uniquement lorsque la fonction d’orchestrateur n’est pas relecture. Par exemple, certains types de journalisation des applications peuvent devenir trop bruyants lorsqu’ils sont dupliqués dans le cadre de la relecture de fonction d’orchestrateur. Le code d’orchestrateur peut vérifier si la fonction est relectée, puis émettre les instructions de journal lorsque cette valeur est false.

isReplaying: boolean

Valeur de propriété

boolean

parentInstanceId

ID de l’orchestration parente de l’instance de sous-orchestration actuelle. La valeur sera disponible uniquement dans les sous-orchestrations.

L’ID d’instance parent est généré et résolu lorsque la fonction d’orchestrateur parente est planifiée. Il peut être généré automatiquement, auquel cas il est mis en forme en tant que GUID, ou il peut être spécifié par l’utilisateur avec n’importe quel format.

parentInstanceId: undefined | string

Valeur de propriété

undefined | string

Task

Point d’entrée pour les méthodes permettant de gérer les collections d’actions en attente représentées par instances de tâche. Pour une utilisation dans les opérations de parallélisation.

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

Valeur de propriété

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

Détails de la méthode

callActivity(string, unknown)

Planifie une fonction d’activité nommée name pour l’exécution.

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

Paramètres

name

string

Nom de la fonction d’activité à appeler.

input

unknown

Entrée sérialisable JSON à transmettre à la fonction d’activité.

Retours

Tâche durable qui se termine lorsque la fonction d’activité appelée se termine ou échoue.

callActivityWithRetry(string, RetryOptions, unknown)

Planifie une fonction d’activité nommée name pour l’exécution avec des options de nouvelle tentative.

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

Paramètres

name

string

Nom de la fonction d’activité à appeler.

retryOptions
RetryOptions

Options de nouvelle tentative pour la fonction d’activité.

input

unknown

Entrée sérialisable JSON à transmettre à la fonction d’activité.

Retours

callEntity(EntityId, string, unknown)

Appelle une opération sur une entité, en passant un argument et attend qu’elle se termine.

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

Paramètres

entityId
EntityId

Entité cible.

operationName

string

Nom de l’opération.

operationInput

unknown

Entrée de l’opération.

Retours

callHttp(CallHttpOptions)

Planifie un appel HTTP durable vers le point de terminaison spécifié.

function callHttp(options: CallHttpOptions): Task

Paramètres

options
CallHttpOptions

Objet options HTTP

Retours

callSubOrchestrator(string, unknown, string)

Planifie une fonction d’orchestration nommée name pour l’exécution.

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

Paramètres

name

string

Nom de la fonction orchestrator à appeler.

input

unknown

Entrée sérialisable JSON à passer à la fonction d’orchestrateur.

instanceId

string

ID unique à utiliser pour l’instance de sous-orchestration. Si instanceId n’est pas spécifié, l’extension génère un ID au format <calling orchestrator instance ID>:<#>

Retours

callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)

Planifie une fonction d’orchestrateur nommée name pour l’exécution avec des options de nouvelle tentative.

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

Paramètres

name

string

Nom de la fonction orchestrator à appeler.

retryOptions
RetryOptions

Options de nouvelle tentative pour la fonction d’orchestrateur.

input

unknown

Entrée sérialisable JSON à passer à la fonction d’orchestrateur.

instanceId

string

ID unique à utiliser pour l’instance de sous-orchestration.

Retours

continueAsNew(unknown)

Redémarre l’orchestration en désactivant son historique.

function continueAsNew(input: unknown)

Paramètres

input

unknown

Données sérialisables JSON pour initialiser à nouveau l’instance.

createTimer(Date)

Crée un minuteur durable qui expire à une heure spécifiée.

Tous les minuteurs durables créés à l’aide de cette méthode doivent expirer ou être annulés à l’aide de TimerTask.cancel() avant la fin de la fonction d’orchestrateur. Sinon, l’infrastructure sous-jacente conserve l’instance active jusqu’à l’expiration du minuteur.

function createTimer(fireAt: Date): TimerTask

Paramètres

fireAt

Date

Heure à laquelle le minuteur doit expirer.

Retours

TimerTask qui se termine à l’expiration du minuteur durable.

getInput<T>()

Obtient l’entrée de la fonction orchestrator actuelle en tant que valeur désérialisée.

function getInput<T>(): T

Retours

T

newGuid(string)

Crée un GUID sécurisé pour la relecture au sein d’une orchestration ou d’une opération.

L’implémentation par défaut de cette méthode crée un UUID basé sur un nom à l’aide de l’algorithme de RFC 4122 §4.3. L’entrée de nom utilisée pour générer cette valeur est une combinaison de l’ID d’instance d’orchestration et d’un numéro de séquence géré en interne.

function newGuid(input: string): string

Paramètres

input

string

utilisé pour générer le GUID unique

Retours

string

setCustomStatus(unknown)

Définit l’état json-sérialisable de la fonction d’orchestrateur actuelle.

La valeur customStatusObject est sérialisée en JSON et sera mise à la disposition des API de requête d’état d’orchestration. La valeur JSON sérialisée ne doit pas dépasser 16 Ko de texte encodé en UTF-16.

La valeur de customStatusObject sérialisée sera mise à la disposition des API mentionnées ci-dessus après la prochaine instruction yield ou return.

function setCustomStatus(customStatusObject: unknown)

Paramètres

customStatusObject

unknown

Valeur sérialisable JSON à utiliser comme état personnalisé de la fonction d’orchestrateur.

signalEntity(EntityId, string, unknown)

Envoyez une opération de signal à une entité durable, en passant un argument, sans attendre une réponse. Une opération de feu et d’oubli.

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

Paramètres

entityId
EntityId

ID de l’entité cible.

operationName

string

Nom de l’opération.

operationInput

unknown

(facultatif) entrée pour l’opération.

waitForExternalEvent(string)

Attend de façon asynchrone qu’un événement soit déclenché avec le nom name et retourne les données d’événement.

Les clients externes peuvent déclencher des événements vers une instance d’orchestration en attente à l’aide de raiseEvent().

function waitForExternalEvent(name: string): Task

Paramètres

name

string

Nom de l’événement externe à attendre.

Retours

tâche qui se termine lorsqu’un événement externe du nom spécifié est reçu