DurableOrchestrationContext class
Biedt functionaliteit voor toepassingscode voor het implementeren van een indelingsbewerking.
Eigenschappen
| current |
Hiermee haalt u de huidige datum/tijd op een manier op die veilig is voor gebruik door orchestratorfuncties. Deze datum/tijd-waarde is afgeleid van de indelingsgeschiedenis. Deze retourneert altijd dezelfde waarde op specifieke punten in de orchestratorfunctiecode, waardoor deze deterministisch en veilig is voor opnieuw afspelen. |
| custom |
Aangepaste status voor de indeling |
| instance |
De id van het huidige indelingsexemplaar. De exemplaar-id wordt gegenereerd en opgelost wanneer de orchestrator-functie is gepland. Het kan automatisch worden gegenereerd, in welk geval het is opgemaakt als een GUID, of kan door de gebruiker worden opgegeven met elke indeling. |
| is |
Hiermee wordt een waarde opgehaald die aangeeft of de orchestratorfunctie momenteel opnieuw wordt afgespeeld. Deze eigenschap is handig als er logica is die alleen moet worden uitgevoerd wanneer de orchestratorfunctie is niet opnieuw afspelen. Bepaalde typen toepassingslogboekregistratie kunnen bijvoorbeeld te luidruchtig worden wanneer ze worden gedupliceerd als onderdeel van het opnieuw afspelen van de orchestratorfunctie. De orchestratorcode kan controleren of de functie opnieuw wordt afgespeeld en vervolgens de logboekinstructies uitgeven wanneer deze waarde is |
| parent |
De id van de bovenliggende indeling van het huidige subindelingsexemplaar. De waarde is alleen beschikbaar in subindelingen. De id van het bovenliggende exemplaar wordt gegenereerd en opgelost wanneer de bovenliggende orchestratorfunctie is gepland. Het kan automatisch worden gegenereerd, in welk geval het is opgemaakt als een GUID, of kan door de gebruiker worden opgegeven met elke indeling. |
| Task | Toegangspunt voor methoden voor het afhandelen van verzamelingen van in behandeling zijnde acties die worden vertegenwoordigd door Taak exemplaren. Voor gebruik in parallelle bewerkingen. |
Methoden
| call |
Hiermee plant u een activiteitsfunctie met de naam |
| call |
Hiermee plant u een activiteitsfunctie met de naam |
| call |
Roept een bewerking aan op een entiteit, geeft een argument door en wacht tot deze is voltooid. |
| call |
Hiermee wordt een duurzame HTTP-aanroep naar het opgegeven eindpunt gepland. |
| call |
Hiermee plant u een indelingsfunctie met de naam |
| call |
Hiermee plant u een orchestratorfunctie met de naam |
| continue |
Start de indeling opnieuw door de geschiedenis ervan te wissen. |
| create |
Hiermee maakt u een duurzame timer die op een bepaald tijdstip verloopt. Alle duurzame timers die met deze methode zijn gemaakt, moeten verlopen of worden geannuleerd met behulp van |
| get |
Hiermee haalt u de invoer van de huidige orchestratorfunctie op als een gedeserialiseerde waarde. |
| new |
Hiermee maakt u een nieuwe GUID die veilig is voor opnieuw afspelen binnen een indeling of bewerking. De standaardimplementatie van deze methode maakt een op naam gebaseerde UUID met behulp van het algoritme van RFC 4122 §4.3. De naaminvoer die wordt gebruikt om deze waarde te genereren, is een combinatie van de orchestration-exemplaar-id en een intern beheerd volgnummer. |
| set |
Hiermee stelt u de JSON-serialiseerbare status van de huidige orchestratorfunctie in. De De geserialiseerde |
| signal |
Verzend een signaalbewerking naar een Durable Entity, waarbij een argument wordt doorgegeven zonder te wachten op een antwoord. Een brand-en-vergeet operatie. |
| wait |
Wacht asynchroon tot een gebeurtenis wordt gegenereerd met de naam Externe clients kunnen gebeurtenissen naar een wachtend indelingsexemplaar genereren met behulp van |
Eigenschapdetails
currentUtcDateTime
Hiermee haalt u de huidige datum/tijd op een manier op die veilig is voor gebruik door orchestratorfuncties.
Deze datum/tijd-waarde is afgeleid van de indelingsgeschiedenis. Deze retourneert altijd dezelfde waarde op specifieke punten in de orchestratorfunctiecode, waardoor deze deterministisch en veilig is voor opnieuw afspelen.
currentUtcDateTime: Date
Waarde van eigenschap
Date
customStatus
Aangepaste status voor de indeling
customStatus: unknown
Waarde van eigenschap
unknown
instanceId
De id van het huidige indelingsexemplaar.
De exemplaar-id wordt gegenereerd en opgelost wanneer de orchestrator-functie is gepland. Het kan automatisch worden gegenereerd, in welk geval het is opgemaakt als een GUID, of kan door de gebruiker worden opgegeven met elke indeling.
instanceId: string
Waarde van eigenschap
string
isReplaying
Hiermee wordt een waarde opgehaald die aangeeft of de orchestratorfunctie momenteel opnieuw wordt afgespeeld.
Deze eigenschap is handig als er logica is die alleen moet worden uitgevoerd wanneer de orchestratorfunctie is niet opnieuw afspelen. Bepaalde typen toepassingslogboekregistratie kunnen bijvoorbeeld te luidruchtig worden wanneer ze worden gedupliceerd als onderdeel van het opnieuw afspelen van de orchestratorfunctie. De orchestratorcode kan controleren of de functie opnieuw wordt afgespeeld en vervolgens de logboekinstructies uitgeven wanneer deze waarde is false.
isReplaying: boolean
Waarde van eigenschap
boolean
parentInstanceId
De id van de bovenliggende indeling van het huidige subindelingsexemplaar. De waarde is alleen beschikbaar in subindelingen.
De id van het bovenliggende exemplaar wordt gegenereerd en opgelost wanneer de bovenliggende orchestratorfunctie is gepland. Het kan automatisch worden gegenereerd, in welk geval het is opgemaakt als een GUID, of kan door de gebruiker worden opgegeven met elke indeling.
parentInstanceId: undefined | string
Waarde van eigenschap
undefined | string
Task
Toegangspunt voor methoden voor het afhandelen van verzamelingen van in behandeling zijnde acties die worden vertegenwoordigd door Taak exemplaren. Voor gebruik in parallelle bewerkingen.
Task: { all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
Waarde van eigenschap
{ all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
Methodedetails
callActivity(string, unknown)
Hiermee plant u een activiteitsfunctie met de naam name voor uitvoering.
function callActivity(name: string, input?: unknown): Task
Parameters
- name
-
string
De naam van de activiteitsfunctie die moet worden aangeroepen.
- input
-
unknown
De JSON-serialiseerbare invoer die moet worden doorgegeven aan de activiteitsfunctie.
Retouren
Een duurzame taak die wordt voltooid wanneer de aangeroepen activiteitsfunctie is voltooid of mislukt.
callActivityWithRetry(string, RetryOptions, unknown)
Hiermee plant u een activiteitsfunctie met de naam name voor uitvoering met opties voor opnieuw proberen.
function callActivityWithRetry(name: string, retryOptions: RetryOptions, input?: unknown): Task
Parameters
- name
-
string
De naam van de activiteitsfunctie die moet worden aangeroepen.
- retryOptions
- RetryOptions
De opties voor opnieuw proberen voor de activiteitsfunctie.
- input
-
unknown
De JSON-serialiseerbare invoer die moet worden doorgegeven aan de activiteitsfunctie.
Retouren
callEntity(EntityId, string, unknown)
Roept een bewerking aan op een entiteit, geeft een argument door en wacht tot deze is voltooid.
function callEntity(entityId: EntityId, operationName: string, operationInput?: unknown): Task
Parameters
- entityId
- EntityId
De doelentiteit.
- operationName
-
string
De naam van de bewerking.
- operationInput
-
unknown
De invoer voor de bewerking.
Retouren
callHttp(CallHttpOptions)
Hiermee wordt een duurzame HTTP-aanroep naar het opgegeven eindpunt gepland.
function callHttp(options: CallHttpOptions): Task
Parameters
- options
- CallHttpOptions
Het HTTP-optiesobject
Retouren
callSubOrchestrator(string, unknown, string)
Hiermee plant u een indelingsfunctie met de naam name voor uitvoering.
function callSubOrchestrator(name: string, input?: unknown, instanceId?: string): Task
Parameters
- name
-
string
De naam van de orchestratorfunctie die moet worden aangeroepen.
- input
-
unknown
De JSON-serialiseerbare invoer die moet worden doorgegeven aan de orchestratorfunctie.
- instanceId
-
string
Een unieke id die moet worden gebruikt voor het subindelingsexemplaar.
Als instanceId niet is opgegeven, genereert de extensie een id in de indeling <calling orchestrator instance ID>:<#>
Retouren
callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)
Hiermee plant u een orchestratorfunctie met de naam name voor uitvoering met opties voor opnieuw proberen.
function callSubOrchestratorWithRetry(name: string, retryOptions: RetryOptions, input?: unknown, instanceId?: string): Task
Parameters
- name
-
string
De naam van de orchestratorfunctie die moet worden aangeroepen.
- retryOptions
- RetryOptions
De opties voor opnieuw proberen voor de orchestratorfunctie.
- input
-
unknown
De JSON-serialiseerbare invoer die moet worden doorgegeven aan de orchestratorfunctie.
- instanceId
-
string
Een unieke id die moet worden gebruikt voor het subindelingsexemplaar.
Retouren
continueAsNew(unknown)
Start de indeling opnieuw door de geschiedenis ervan te wissen.
function continueAsNew(input: unknown)
Parameters
- input
-
unknown
De JSON-serialiseerbare gegevens om het exemplaar opnieuw te initialiseren.
createTimer(Date)
Hiermee maakt u een duurzame timer die op een bepaald tijdstip verloopt.
Alle duurzame timers die met deze methode zijn gemaakt, moeten verlopen of worden geannuleerd met behulp van TimerTask.cancel() voordat de orchestratorfunctie is voltooid. Anders blijft het onderliggende framework het exemplaar actief totdat de timer verloopt.
function createTimer(fireAt: Date): TimerTask
Parameters
- fireAt
-
Date
Het tijdstip waarop de timer moet verlopen.
Retouren
Een TimerTask die wordt voltooid wanneer de duurzame timer verloopt.
getInput<T>()
Hiermee haalt u de invoer van de huidige orchestratorfunctie op als een gedeserialiseerde waarde.
function getInput<T>(): T
Retouren
T
newGuid(string)
Hiermee maakt u een nieuwe GUID die veilig is voor opnieuw afspelen binnen een indeling of bewerking.
De standaardimplementatie van deze methode maakt een op naam gebaseerde UUID met behulp van het algoritme van RFC 4122 §4.3. De naaminvoer die wordt gebruikt om deze waarde te genereren, is een combinatie van de orchestration-exemplaar-id en een intern beheerd volgnummer.
function newGuid(input: string): string
Parameters
- input
-
string
wordt gebruikt om de unieke GUID te genereren
Retouren
string
setCustomStatus(unknown)
Hiermee stelt u de JSON-serialiseerbare status van de huidige orchestratorfunctie in.
De customStatusObject waarde wordt geserialiseerd naar JSON en wordt beschikbaar gesteld aan de api's van de indelingsstatusquery. De geserialiseerde JSON-waarde mag niet groter zijn dan 16 kB met UTF-16 gecodeerde tekst.
De geserialiseerde customStatusObject waarde wordt na de volgende yield of return-instructie beschikbaar gesteld aan de bovengenoemde API's.
function setCustomStatus(customStatusObject: unknown)
Parameters
- customStatusObject
-
unknown
De JSON-serialiseerbare waarde die moet worden gebruikt als de aangepaste status van de orchestratorfunctie.
signalEntity(EntityId, string, unknown)
Verzend een signaalbewerking naar een Durable Entity, waarbij een argument wordt doorgegeven zonder te wachten op een antwoord. Een brand-en-vergeet operatie.
function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)
Parameters
- entityId
- EntityId
Id van de doelentiteit.
- operationName
-
string
De naam van de bewerking.
- operationInput
-
unknown
(optioneel) invoer voor de bewerking.
waitForExternalEvent(string)
Wacht asynchroon tot een gebeurtenis wordt gegenereerd met de naam name en retourneert de gebeurtenisgegevens.
Externe clients kunnen gebeurtenissen naar een wachtend indelingsexemplaar genereren met behulp van raiseEvent().
function waitForExternalEvent(name: string): Task
Parameters
- name
-
string
De naam van de externe gebeurtenis die moet worden gewacht.
Retouren
een taak die wordt voltooid wanneer een externe gebeurtenis van de opgegeven naam wordt ontvangen