DurableOrchestrationContext class
提供實作協調流程作業的應用程式程式代碼功能。
屬性
| current |
以協調器函式安全使用的方式取得目前的日期/時間。 這個日期/時間值衍生自協調流程歷程記錄。 它一律會在協調器函式程式代碼中的特定點傳回相同的值,使其具決定性且安全重新執行。 |
| custom |
協調流程的自定義狀態 |
| instance |
目前協調流程實例的標識碼。 當協調器函式排程時,會產生實例標識碼並修正。 它可以自動產生,在此情況下,它會格式化為 GUID,也可以以任何格式指定使用者。 |
| is |
取得值,指出協調器函式目前是否正在重新執行本身。 只有當協調器函式 不 重新執行時,才需要執行的邏輯時,這個屬性就很有用。 例如,當重複做為協調器函式重新執行時,某些類型的應用程式記錄可能會變得太吵鬧。 協調器程式代碼可以檢查函式是否正在重新執行,然後在此值 |
| parent |
目前子協調流程實例之父協調流程的標識碼。 值只能在子協調流程中使用。 父實例標識碼會在排程父協調器函式時產生並修正。 它可以自動產生,在此情況下,它會格式化為 GUID,也可以以任何格式指定使用者。 |
| Task |
方法
| call |
排程名為 |
| call |
使用重試選項排程名為 |
| call |
在實體上呼叫作業、傳遞自變數,並等候它完成。 |
| call |
排程對指定端點的持久 HTTP 呼叫。 |
| call |
排程名為 |
| call |
使用重試選項排程名為 |
| continue |
清除協調流程的歷程記錄,以重新啟動協調流程。 |
| create |
建立在指定時間到期的持久定時器。 使用這個方法建立的所有長期定時器都必須在協調器函式完成之前,使用 |
| get |
取得目前協調器函式作為還原串行化值的輸入。 |
| new |
建立可在協調流程或作業內安全地重新執行的新 GUID。 此方法的默認實作會使用 RFC 4122 •4.3 中的演算法,建立以名稱為基礎的 UUID。 用來產生此值的名稱輸入是協調流程實例標識碼和內部管理序號的組合。 |
| set |
設定目前協調器函式的 JSON 可串行化狀態。
串行化 |
| signal |
將訊號作業傳送至 Durable Entity,傳遞自變數,而不需等待回應。 火災和忘記作業。 |
| wait |
以異步方式等候以名稱 外部用戶端可以使用 |
屬性詳細資料
currentUtcDateTime
以協調器函式安全使用的方式取得目前的日期/時間。
這個日期/時間值衍生自協調流程歷程記錄。 它一律會在協調器函式程式代碼中的特定點傳回相同的值,使其具決定性且安全重新執行。
currentUtcDateTime: Date
屬性值
Date
customStatus
協調流程的自定義狀態
customStatus: unknown
屬性值
unknown
instanceId
目前協調流程實例的標識碼。
當協調器函式排程時,會產生實例標識碼並修正。 它可以自動產生,在此情況下,它會格式化為 GUID,也可以以任何格式指定使用者。
instanceId: string
屬性值
string
isReplaying
取得值,指出協調器函式目前是否正在重新執行本身。
只有當協調器函式 不 重新執行時,才需要執行的邏輯時,這個屬性就很有用。 例如,當重複做為協調器函式重新執行時,某些類型的應用程式記錄可能會變得太吵鬧。 協調器程式代碼可以檢查函式是否正在重新執行,然後在此值 false時發出記錄語句。
isReplaying: boolean
屬性值
boolean
parentInstanceId
目前子協調流程實例之父協調流程的標識碼。 值只能在子協調流程中使用。
父實例標識碼會在排程父協調器函式時產生並修正。 它可以自動產生,在此情況下,它會格式化為 GUID,也可以以任何格式指定使用者。
parentInstanceId: undefined | string
屬性值
undefined | string
Task
方法詳細資料
callActivity(string, unknown)
排程名為 name 的活動函式以供執行。
function callActivity(name: string, input?: unknown): Task
參數
- name
-
string
要呼叫的活動函式名稱。
- input
-
unknown
要傳遞至活動函式的 JSON 可串行化輸入。
傳回
在呼叫的活動函式完成或失敗時完成的永久性工作。
callActivityWithRetry(string, RetryOptions, unknown)
使用重試選項排程名為 name 的活動函式來執行。
function callActivityWithRetry(name: string, retryOptions: RetryOptions, input?: unknown): Task
參數
- name
-
string
要呼叫的活動函式名稱。
- retryOptions
- RetryOptions
活動函式的重試選項。
- input
-
unknown
要傳遞至活動函式的 JSON 可串行化輸入。
傳回
callEntity(EntityId, string, unknown)
callHttp(CallHttpOptions)
排程對指定端點的持久 HTTP 呼叫。
function callHttp(options: CallHttpOptions): Task
參數
- options
- CallHttpOptions
HTTP 選項物件
傳回
callSubOrchestrator(string, unknown, string)
排程名為 name 的協調流程函式以供執行。
function callSubOrchestrator(name: string, input?: unknown, instanceId?: string): Task
參數
- name
-
string
要呼叫的協調器函式名稱。
- input
-
unknown
要傳遞至協調器函式的 JSON 可串行化輸入。
- instanceId
-
string
用於子協調流程實例的唯一標識符。
如果未指定 instanceId,擴充功能會以格式產生標識符 <calling orchestrator instance ID>:<#>
傳回
callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)
使用重試選項排程名為 name 的協調器函式來執行。
function callSubOrchestratorWithRetry(name: string, retryOptions: RetryOptions, input?: unknown, instanceId?: string): Task
參數
- name
-
string
要呼叫的協調器函式名稱。
- retryOptions
- RetryOptions
協調器函式的重試選項。
- input
-
unknown
要傳遞至協調器函式的 JSON 可串行化輸入。
- instanceId
-
string
用於子協調流程實例的唯一標識符。
傳回
continueAsNew(unknown)
清除協調流程的歷程記錄,以重新啟動協調流程。
function continueAsNew(input: unknown)
參數
- input
-
unknown
要重新初始化 實例的 JSON 可串行化數據。
createTimer(Date)
建立在指定時間到期的持久定時器。
使用這個方法建立的所有長期定時器都必須在協調器函式完成之前,使用 TimerTask.cancel() 過期或取消。 否則,基礎架構會讓實例保持運作,直到定時器到期為止。
function createTimer(fireAt: Date): TimerTask
參數
- fireAt
-
Date
定時器到期的時間。
傳回
定時器到期時完成的 TimerTask。
getInput<T>()
取得目前協調器函式作為還原串行化值的輸入。
function getInput<T>(): T
傳回
T
newGuid(string)
建立可在協調流程或作業內安全地重新執行的新 GUID。
此方法的默認實作會使用 RFC 4122 •4.3 中的演算法,建立以名稱為基礎的 UUID。 用來產生此值的名稱輸入是協調流程實例標識碼和內部管理序號的組合。
function newGuid(input: string): string
參數
- input
-
string
用來產生唯一 GUID
傳回
string
setCustomStatus(unknown)
設定目前協調器函式的 JSON 可串行化狀態。
customStatusObject 值會串行化為 JSON,並可供協調流程狀態查詢 API 使用。 串行化的 JSON 值不得超過 16 KB 的 UTF-16 編碼文字。
串行化 customStatusObject 值將在下一個 yield 或 return 語句之後提供給上述 API 使用。
function setCustomStatus(customStatusObject: unknown)
參數
- customStatusObject
-
unknown
JSON 可串行化值,用來作為協調器函式的自定義狀態。
signalEntity(EntityId, string, unknown)
將訊號作業傳送至 Durable Entity,傳遞自變數,而不需等待回應。 火災和忘記作業。
function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)
參數
- entityId
- EntityId
目標實體的標識碼。
- operationName
-
string
作業的名稱。
- operationInput
-
unknown
(選擇性)作業的輸入。
waitForExternalEvent(string)
以異步方式等候以名稱 name 引發事件,並傳回事件數據。
外部用戶端可以使用 raiseEvent(),將事件引發至等候的協調流程實例。
function waitForExternalEvent(name: string): Task
參數
- name
-
string
要等候的外部事件名稱。
傳回
收到指定名稱的外部事件時完成的工作