DurableOrchestrationContext class
Fornisce funzionalità per il codice dell'applicazione che implementa un'operazione di orchestrazione.
Proprietà
| current |
Ottiene la data/ora corrente in modo sicuro per l'uso da parte delle funzioni dell'agente di orchestrazione. Questo valore di data/ora è derivato dalla cronologia dell'orchestrazione. Restituisce sempre lo stesso valore in punti specifici nel codice della funzione dell'agente di orchestrazione, rendendolo deterministico e sicuro per la riproduzione. |
| custom |
Stato personalizzato per l'orchestrazione |
| instance |
ID dell'istanza di orchestrazione corrente. L'ID istanza viene generato e corretto quando viene pianificata la funzione dell'agente di orchestrazione. Può essere generato automaticamente, nel qual caso viene formattato come GUID oppure può essere specificato dall'utente con qualsiasi formato. |
| is |
Ottiene un valore che indica se la funzione dell'agente di orchestrazione sta riproducendo se stessa. Questa proprietà è utile quando è presente una logica che deve essere eseguita solo quando la funzione dell'agente di orchestrazione è non riproduzione. Ad esempio, alcuni tipi di registrazione delle applicazioni possono diventare troppo rumorosi quando vengono duplicati come parte della riproduzione della funzione dell'agente di orchestrazione. Il codice dell'agente di orchestrazione può verificare se la funzione viene riprodotta e quindi rilasciare le istruzioni di log quando questo valore è |
| parent |
ID dell'orchestrazione padre dell'istanza di orchestrazione secondaria corrente. Il valore sarà disponibile solo nelle sotto orchestrazioni. L'ID istanza padre viene generato e corretto quando viene pianificata la funzione dell'agente di orchestrazione padre. Può essere generato automaticamente, nel qual caso viene formattato come GUID oppure può essere specificato dall'utente con qualsiasi formato. |
| Task | Punto di ingresso per i metodi per gestire le raccolte di azioni in sospeso rappresentate da istanze di Task. Per l'uso nelle operazioni di parallelizzazione. |
Metodi
| call |
Pianifica una funzione di attività denominata |
| call |
Pianifica una funzione di attività denominata |
| call |
Chiama un'operazione su un'entità, passando un argomento e attende il completamento. |
| call |
Pianifica una chiamata HTTP durevole all'endpoint specificato. |
| call |
Pianifica una funzione di orchestrazione denominata |
| call |
Pianifica una funzione dell'agente di orchestrazione denominata |
| continue |
Riavvia l'orchestrazione cancellandone la cronologia. |
| create |
Crea un timer durevole che scade in un momento specificato. Tutti i timer durevoli creati con questo metodo devono scadere o essere annullati usando |
| get |
Ottiene l'input della funzione dell'agente di orchestrazione corrente come valore deserializzato. |
| new |
Crea un nuovo GUID sicuro per la riproduzione all'interno di un'orchestrazione o di un'operazione. L'implementazione predefinita di questo metodo crea un UUID basato sul nome usando l'algoritmo RFC 4122 §4.3. L'input del nome usato per generare questo valore è una combinazione dell'ID istanza di orchestrazione e di un numero di sequenza gestito internamente. |
| set |
Imposta lo stato serializzabile JSON della funzione dell'agente di orchestrazione corrente. Il valore Il valore |
| signal |
Inviare un'operazione di segnale a un'entità durevole, passando un argomento, senza attendere una risposta. Operazione fire-and-forget. |
| wait |
Attende in modo asincrono la generazione di un evento con il nome I client esterni possono generare eventi a un'istanza di orchestrazione in attesa usando |
Dettagli proprietà
currentUtcDateTime
Ottiene la data/ora corrente in modo sicuro per l'uso da parte delle funzioni dell'agente di orchestrazione.
Questo valore di data/ora è derivato dalla cronologia dell'orchestrazione. Restituisce sempre lo stesso valore in punti specifici nel codice della funzione dell'agente di orchestrazione, rendendolo deterministico e sicuro per la riproduzione.
currentUtcDateTime: Date
Valore della proprietà
Date
customStatus
Stato personalizzato per l'orchestrazione
customStatus: unknown
Valore della proprietà
unknown
instanceId
ID dell'istanza di orchestrazione corrente.
L'ID istanza viene generato e corretto quando viene pianificata la funzione dell'agente di orchestrazione. Può essere generato automaticamente, nel qual caso viene formattato come GUID oppure può essere specificato dall'utente con qualsiasi formato.
instanceId: string
Valore della proprietà
string
isReplaying
Ottiene un valore che indica se la funzione dell'agente di orchestrazione sta riproducendo se stessa.
Questa proprietà è utile quando è presente una logica che deve essere eseguita solo quando la funzione dell'agente di orchestrazione è non riproduzione. Ad esempio, alcuni tipi di registrazione delle applicazioni possono diventare troppo rumorosi quando vengono duplicati come parte della riproduzione della funzione dell'agente di orchestrazione. Il codice dell'agente di orchestrazione può verificare se la funzione viene riprodotta e quindi rilasciare le istruzioni di log quando questo valore è false.
isReplaying: boolean
Valore della proprietà
boolean
parentInstanceId
ID dell'orchestrazione padre dell'istanza di orchestrazione secondaria corrente. Il valore sarà disponibile solo nelle sotto orchestrazioni.
L'ID istanza padre viene generato e corretto quando viene pianificata la funzione dell'agente di orchestrazione padre. Può essere generato automaticamente, nel qual caso viene formattato come GUID oppure può essere specificato dall'utente con qualsiasi formato.
parentInstanceId: undefined | string
Valore della proprietà
undefined | string
Task
Punto di ingresso per i metodi per gestire le raccolte di azioni in sospeso rappresentate da istanze di Task. Per l'uso nelle operazioni di parallelizzazione.
Task: { all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
Valore della proprietà
{ all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
Dettagli metodo
callActivity(string, unknown)
Pianifica una funzione di attività denominata name per l'esecuzione.
function callActivity(name: string, input?: unknown): Task
Parametri
- name
-
string
Nome della funzione di attività da chiamare.
- input
-
unknown
Input serializzabile JSON da passare alla funzione di attività.
Restituisce
Attività durevole che viene completata quando la funzione attività chiamata viene completata o ha esito negativo.
callActivityWithRetry(string, RetryOptions, unknown)
Pianifica una funzione di attività denominata name per l'esecuzione con opzioni di ripetizione dei tentativi.
function callActivityWithRetry(name: string, retryOptions: RetryOptions, input?: unknown): Task
Parametri
- name
-
string
Nome della funzione di attività da chiamare.
- retryOptions
- RetryOptions
Opzioni di ripetizione dei tentativi per la funzione dell'attività.
- input
-
unknown
Input serializzabile JSON da passare alla funzione di attività.
Restituisce
callEntity(EntityId, string, unknown)
Chiama un'operazione su un'entità, passando un argomento e attende il completamento.
function callEntity(entityId: EntityId, operationName: string, operationInput?: unknown): Task
Parametri
- entityId
- EntityId
Entità di destinazione.
- operationName
-
string
Nome dell'operazione.
- operationInput
-
unknown
Input per l'operazione.
Restituisce
callHttp(CallHttpOptions)
Pianifica una chiamata HTTP durevole all'endpoint specificato.
function callHttp(options: CallHttpOptions): Task
Parametri
- options
- CallHttpOptions
Oggetto opzioni HTTP
Restituisce
callSubOrchestrator(string, unknown, string)
Pianifica una funzione di orchestrazione denominata name per l'esecuzione.
function callSubOrchestrator(name: string, input?: unknown, instanceId?: string): Task
Parametri
- name
-
string
Nome della funzione dell'agente di orchestrazione da chiamare.
- input
-
unknown
Input serializzabile JSON da passare alla funzione dell'agente di orchestrazione.
- instanceId
-
string
ID univoco da usare per l'istanza di orchestrazione secondaria.
Se instanceId non viene specificato, l'estensione genererà un ID nel formato <calling orchestrator instance ID>:<#>
Restituisce
callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)
Pianifica una funzione dell'agente di orchestrazione denominata name per l'esecuzione con opzioni di ripetizione dei tentativi.
function callSubOrchestratorWithRetry(name: string, retryOptions: RetryOptions, input?: unknown, instanceId?: string): Task
Parametri
- name
-
string
Nome della funzione dell'agente di orchestrazione da chiamare.
- retryOptions
- RetryOptions
Opzioni di ripetizione dei tentativi per la funzione dell'agente di orchestrazione.
- input
-
unknown
Input serializzabile JSON da passare alla funzione dell'agente di orchestrazione.
- instanceId
-
string
ID univoco da usare per l'istanza di orchestrazione secondaria.
Restituisce
continueAsNew(unknown)
Riavvia l'orchestrazione cancellandone la cronologia.
function continueAsNew(input: unknown)
Parametri
- input
-
unknown
Dati serializzabili JSON con cui inizializzare nuovamente l'istanza.
createTimer(Date)
Crea un timer durevole che scade in un momento specificato.
Tutti i timer durevoli creati con questo metodo devono scadere o essere annullati usando TimerTask.cancel() prima del completamento della funzione dell'agente di orchestrazione. In caso contrario, il framework sottostante manterrà attiva l'istanza fino alla scadenza del timer.
function createTimer(fireAt: Date): TimerTask
Parametri
- fireAt
-
Date
Ora di scadenza del timer.
Restituisce
TimerTask che viene completato alla scadenza del timer durevole.
getInput<T>()
Ottiene l'input della funzione dell'agente di orchestrazione corrente come valore deserializzato.
function getInput<T>(): T
Restituisce
T
newGuid(string)
Crea un nuovo GUID sicuro per la riproduzione all'interno di un'orchestrazione o di un'operazione.
L'implementazione predefinita di questo metodo crea un UUID basato sul nome usando l'algoritmo RFC 4122 §4.3. L'input del nome usato per generare questo valore è una combinazione dell'ID istanza di orchestrazione e di un numero di sequenza gestito internamente.
function newGuid(input: string): string
Parametri
- input
-
string
usato per generare il GUID univoco
Restituisce
string
setCustomStatus(unknown)
Imposta lo stato serializzabile JSON della funzione dell'agente di orchestrazione corrente.
Il valore customStatusObject viene serializzato in JSON e verrà reso disponibile per le API di query sullo stato dell'orchestrazione. Il valore JSON serializzato non deve superare 16 KB di testo con codifica UTF-16.
Il valore customStatusObject serializzato verrà reso disponibile alle API indicate dopo l'istruzione yield o return successiva.
function setCustomStatus(customStatusObject: unknown)
Parametri
- customStatusObject
-
unknown
Valore serializzabile JSON da usare come stato personalizzato della funzione dell'agente di orchestrazione.
signalEntity(EntityId, string, unknown)
Inviare un'operazione di segnale a un'entità durevole, passando un argomento, senza attendere una risposta. Operazione fire-and-forget.
function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)
Parametri
- entityId
- EntityId
ID dell'entità di destinazione.
- operationName
-
string
Nome dell'operazione.
- operationInput
-
unknown
(facoltativo) input per l'operazione.
waitForExternalEvent(string)
Attende in modo asincrono la generazione di un evento con il nome name e restituisce i dati dell'evento.
I client esterni possono generare eventi a un'istanza di orchestrazione in attesa usando raiseEvent().
function waitForExternalEvent(name: string): Task
Parametri
- name
-
string
Nome dell'evento esterno da attendere.
Restituisce
Un'attività che viene completata quando viene ricevuto un evento esterno del nome specificato