DurableOrchestrationContext class
오케스트레이션 작업을 구현하는 애플리케이션 코드에 대한 기능을 제공합니다.
속성
| current |
오케스트레이터 함수에서 사용하기에 안전한 방식으로 현재 날짜/시간을 가져옵니다. 이 날짜/시간 값은 오케스트레이션 기록에서 파생됩니다. 항상 오케스트레이터 함수 코드의 특정 지점에서 동일한 값을 반환하므로 결정적이고 재생이 안전합니다. |
| custom |
오케스트레이션에 대한 사용자 지정 상태 |
| instance |
현재 오케스트레이션 인스턴스의 ID입니다. 인스턴스 ID는 오케스트레이터 함수가 예약될 때 생성되고 수정됩니다. 자동 생성될 수 있으며, 이 경우 GUID로 형식이 지정되거나 모든 형식으로 사용자 지정될 수 있습니다. |
| is |
오케스트레이터 함수가 현재 자신을 재생하고 있는지 여부를 나타내는 값을 가져옵니다. 이 속성은 오케스트레이터 함수가 재생되지 경우에만 실행해야 하는 논리가 경우에 유용합니다. 예를 들어 오케스트레이터 함수 재생의 일부로 복제될 때 특정 유형의 애플리케이션 로깅이 너무 시끄럽게 될 수 있습니다. 오케스트레이터 코드는 함수가 재생되고 있는지 확인한 다음 이 값이 |
| parent |
현재 하위 오케스트레이션 인스턴스의 부모 오케스트레이션 ID입니다. 값은 하위 오케스트레이션에서만 사용할 수 있습니다. 부모 인스턴스 ID는 부모 오케스트레이터 함수가 예약될 때 생성되고 수정됩니다. 자동 생성될 수 있으며, 이 경우 GUID로 형식이 지정되거나 모든 형식으로 사용자 지정될 수 있습니다. |
| Task | Task 인스턴스가 나타내는 보류 중인 작업의 컬렉션을 처리하는 메서드의 진입점입니다. 병렬 처리 작업에 사용합니다. |
메서드
| call |
실행을 위해 |
| call |
재시도 옵션을 사용하여 실행을 위해 |
| call |
엔터티에 대한 작업을 호출하고 인수를 전달하며 완료되기를 기다립니다. |
| call |
지정된 엔드포인트에 대한 지속성 HTTP 호출을 예약합니다. |
| call |
실행을 위해 |
| call |
재시도 옵션을 사용하여 실행을 위해 |
| continue |
기록을 지워 오케스트레이션을 다시 시작합니다. |
| create |
지정된 시간에 만료되는 지속성 타이머를 만듭니다. 이 메서드를 사용하여 만든 모든 지속성 타이머는 오케스트레이터 함수가 완료되기 전에 |
| get |
현재 오케스트레이터 함수의 입력을 역직렬화된 값으로 가져옵니다. |
| new |
오케스트레이션 또는 작업 내에서 재생에 안전한 새 GUID를 만듭니다. 이 메서드의 기본 구현은 RFC 4122 §4.3의 알고리즘을 사용하여 이름 기반 UUID를 만듭니다. 이 값을 생성하는 데 사용되는 이름 입력은 오케스트레이션 인스턴스 ID와 내부적으로 관리되는 시퀀스 번호의 조합입니다. |
| set |
현재 오케스트레이터 함수의 JSON 직렬화 가능 상태를 설정합니다.
직렬화된 |
| signal |
응답을 기다리지 않고 인수를 전달하여 지속성 엔터티에 신호 작업을 보냅니다. 화재 및 잊어 버린 작업입니다. |
| wait |
외부 클라이언트는 |
속성 세부 정보
currentUtcDateTime
오케스트레이터 함수에서 사용하기에 안전한 방식으로 현재 날짜/시간을 가져옵니다.
이 날짜/시간 값은 오케스트레이션 기록에서 파생됩니다. 항상 오케스트레이터 함수 코드의 특정 지점에서 동일한 값을 반환하므로 결정적이고 재생이 안전합니다.
currentUtcDateTime: Date
속성 값
Date
customStatus
오케스트레이션에 대한 사용자 지정 상태
customStatus: unknown
속성 값
unknown
instanceId
현재 오케스트레이션 인스턴스의 ID입니다.
인스턴스 ID는 오케스트레이터 함수가 예약될 때 생성되고 수정됩니다. 자동 생성될 수 있으며, 이 경우 GUID로 형식이 지정되거나 모든 형식으로 사용자 지정될 수 있습니다.
instanceId: string
속성 값
string
isReplaying
오케스트레이터 함수가 현재 자신을 재생하고 있는지 여부를 나타내는 값을 가져옵니다.
이 속성은 오케스트레이터 함수가 재생되지 경우에만 실행해야 하는 논리가 경우에 유용합니다. 예를 들어 오케스트레이터 함수 재생의 일부로 복제될 때 특정 유형의 애플리케이션 로깅이 너무 시끄럽게 될 수 있습니다. 오케스트레이터 코드는 함수가 재생되고 있는지 확인한 다음 이 값이 false때 로그 문을 실행합니다.
isReplaying: boolean
속성 값
boolean
parentInstanceId
현재 하위 오케스트레이션 인스턴스의 부모 오케스트레이션 ID입니다. 값은 하위 오케스트레이션에서만 사용할 수 있습니다.
부모 인스턴스 ID는 부모 오케스트레이터 함수가 예약될 때 생성되고 수정됩니다. 자동 생성될 수 있으며, 이 경우 GUID로 형식이 지정되거나 모든 형식으로 사용자 지정될 수 있습니다.
parentInstanceId: undefined | string
속성 값
undefined | string
Task
Task 인스턴스가 나타내는 보류 중인 작업의 컬렉션을 처리하는 메서드의 진입점입니다. 병렬 처리 작업에 사용합니다.
Task: { all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
속성 값
{ all: (tasks: Task[]) => Task, any: (tasks: Task[]) => 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
하위 오케스트레이션 인스턴스에 사용할 고유 ID입니다.
instanceId 지정하지 않으면 확장에서 id를 <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
하위 오케스트레이션 인스턴스에 사용할 고유 ID입니다.
반환
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를 만듭니다. 이 값을 생성하는 데 사용되는 이름 입력은 오케스트레이션 인스턴스 ID와 내부적으로 관리되는 시퀀스 번호의 조합입니다.
function newGuid(input: string): string
매개 변수
- input
-
string
고유 GUID를 생성하는 데 사용됩니다.
반환
string
setCustomStatus(unknown)
현재 오케스트레이터 함수의 JSON 직렬화 가능 상태를 설정합니다.
customStatusObject 값은 JSON으로 직렬화되며 오케스트레이션 상태 쿼리 API에 사용할 수 있습니다. 직렬화된 JSON 값은 16KB의 UTF-16으로 인코딩된 텍스트를 초과해서는 안됩니다.
직렬화된 customStatusObject 값은 다음 yield 또는 return 문 다음에 앞서 언급한 API에서 사용할 수 있게 됩니다.
function setCustomStatus(customStatusObject: unknown)
매개 변수
- customStatusObject
-
unknown
오케스트레이터 함수의 사용자 지정 상태로 사용할 JSON 직렬화 가능 값입니다.
signalEntity(EntityId, string, unknown)
응답을 기다리지 않고 인수를 전달하여 지속성 엔터티에 신호 작업을 보냅니다. 화재 및 잊어 버린 작업입니다.
function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)
매개 변수
- entityId
- EntityId
대상 엔터티의 ID입니다.
- operationName
-
string
작업의 이름입니다.
- operationInput
-
unknown
(선택 사항) 작업에 대한 입력입니다.
waitForExternalEvent(string)
name 이름으로 이벤트가 발생할 때까지 비동기적으로 대기하고 이벤트 데이터를 반환합니다.
외부 클라이언트는 raiseEvent()사용하여 대기 중인 오케스트레이션 인스턴스에 이벤트를 발생할 수 있습니다.
function waitForExternalEvent(name: string): Task
매개 변수
- name
-
string
대기할 외부 이벤트의 이름입니다.
반환
지정된 이름의 외부 이벤트가 수신될 때 완료되는 작업