DurableOrchestrationContext class
Proporciona funcionalidad para el código de aplicación que implementa una operación de orquestación.
Propiedades
| current |
Obtiene la fecha y hora actuales de una manera segura para su uso por las funciones de orquestador. Este valor de fecha y hora se deriva del historial de orquestaciones. Siempre devuelve el mismo valor en puntos específicos del código de la función de orquestador, lo que lo convierte en determinista y seguro para la reproducción. |
| custom |
Estado personalizado de la orquestación |
| instance |
Identificador de la instancia de orquestación actual. El identificador de instancia se genera y se fija cuando se programa la función de orquestador. Puede generarse automáticamente, en cuyo caso tiene el formato GUID, o bien puede especificarse por el usuario con cualquier formato. |
| is |
Obtiene un valor que indica si la función de orquestador se está reproduciendo actualmente. Esta propiedad es útil cuando hay lógica que solo debe ejecutarse cuando la función de orquestador está no reproducción. Por ejemplo, ciertos tipos de registro de aplicaciones pueden volverse demasiado ruidosos cuando se duplican como parte de la reproducción de funciones de orquestador. El código del orquestador podría comprobar si se está reproduciéndose la función y, a continuación, emitir las instrucciones de registro cuando este valor es |
| parent |
Identificador de la orquestación primaria de la instancia de sub orquestación actual. El valor solo estará disponible en las suborquestaciones. El identificador de instancia principal se genera y se fija cuando se programa la función de orquestador principal. Puede generarse automáticamente, en cuyo caso tiene el formato GUID, o bien puede especificarse por el usuario con cualquier formato. |
| Task | Punto de entrada para los métodos para controlar colecciones de acciones pendientes representadas por instancias de task. Para su uso en operaciones de paralelización. |
Métodos
| call |
Programa una función de actividad denominada |
| call |
Programa una función de actividad denominada |
| call |
Llama a una operación en una entidad, pasa un argumento y espera a que se complete. |
| call |
Programa una llamada HTTP duradera al punto de conexión especificado. |
| call |
Programa una función de orquestación denominada |
| call |
Programa una función de orquestador denominada |
| continue |
Reinicia la orquestación borrando su historial. |
| create |
Crea un temporizador duradero que expira en un momento especificado. Todos los temporizadores duraderos creados con este método deben expirar o cancelarse mediante |
| get |
Obtiene la entrada de la función de orquestador actual como un valor deserializado. |
| new |
Crea un nuevo GUID que es seguro para la reproducción dentro de una orquestación o operación. La implementación predeterminada de este método crea un UUID basado en nombres mediante el algoritmo de RFC 4122 §4.3. La entrada de nombre usada para generar este valor es una combinación del identificador de instancia de orquestación y un número de secuencia administrado internamente. |
| set |
Establece el estado serializable de JSON de la función de orquestador actual. El valor de El valor de |
| signal |
Envíe una operación de señal a una entidad durable, pasando un argumento, sin esperar una respuesta. Una operación de fuego y olvido. |
| wait |
Espera de forma asincrónica para que se genere un evento con el nombre Los clientes externos pueden generar eventos en una instancia de orquestación en espera mediante |
Detalles de las propiedades
currentUtcDateTime
Obtiene la fecha y hora actuales de una manera segura para su uso por las funciones de orquestador.
Este valor de fecha y hora se deriva del historial de orquestaciones. Siempre devuelve el mismo valor en puntos específicos del código de la función de orquestador, lo que lo convierte en determinista y seguro para la reproducción.
currentUtcDateTime: Date
Valor de propiedad
Date
customStatus
Estado personalizado de la orquestación
customStatus: unknown
Valor de propiedad
unknown
instanceId
Identificador de la instancia de orquestación actual.
El identificador de instancia se genera y se fija cuando se programa la función de orquestador. Puede generarse automáticamente, en cuyo caso tiene el formato GUID, o bien puede especificarse por el usuario con cualquier formato.
instanceId: string
Valor de propiedad
string
isReplaying
Obtiene un valor que indica si la función de orquestador se está reproduciendo actualmente.
Esta propiedad es útil cuando hay lógica que solo debe ejecutarse cuando la función de orquestador está no reproducción. Por ejemplo, ciertos tipos de registro de aplicaciones pueden volverse demasiado ruidosos cuando se duplican como parte de la reproducción de funciones de orquestador. El código del orquestador podría comprobar si se está reproduciéndose la función y, a continuación, emitir las instrucciones de registro cuando este valor es false.
isReplaying: boolean
Valor de propiedad
boolean
parentInstanceId
Identificador de la orquestación primaria de la instancia de sub orquestación actual. El valor solo estará disponible en las suborquestaciones.
El identificador de instancia principal se genera y se fija cuando se programa la función de orquestador principal. Puede generarse automáticamente, en cuyo caso tiene el formato GUID, o bien puede especificarse por el usuario con cualquier formato.
parentInstanceId: undefined | string
Valor de propiedad
undefined | string
Task
Punto de entrada para los métodos para controlar colecciones de acciones pendientes representadas por instancias de task. Para su uso en operaciones de paralelización.
Task: { all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
Valor de propiedad
{ all: (tasks: Task[]) => Task, any: (tasks: Task[]) => Task }
Detalles del método
callActivity(string, unknown)
Programa una función de actividad denominada name para su ejecución.
function callActivity(name: string, input?: unknown): Task
Parámetros
- name
-
string
Nombre de la función de actividad a la que se va a llamar.
- input
-
unknown
Entrada serializable json que se va a pasar a la función de actividad.
Devoluciones
Durable Task que se completa cuando la función de actividad llamada se completa o se produce un error.
callActivityWithRetry(string, RetryOptions, unknown)
Programa una función de actividad denominada name para su ejecución con opciones de reintento.
function callActivityWithRetry(name: string, retryOptions: RetryOptions, input?: unknown): Task
Parámetros
- name
-
string
Nombre de la función de actividad a la que se va a llamar.
- retryOptions
- RetryOptions
Las opciones de reintento de la función de actividad.
- input
-
unknown
Entrada serializable json que se va a pasar a la función de actividad.
Devoluciones
callEntity(EntityId, string, unknown)
Llama a una operación en una entidad, pasa un argumento y espera a que se complete.
function callEntity(entityId: EntityId, operationName: string, operationInput?: unknown): Task
Parámetros
- entityId
- EntityId
Entidad de destino.
- operationName
-
string
Nombre de la operación.
- operationInput
-
unknown
Entrada de la operación.
Devoluciones
callHttp(CallHttpOptions)
Programa una llamada HTTP duradera al punto de conexión especificado.
function callHttp(options: CallHttpOptions): Task
Parámetros
- options
- CallHttpOptions
El objeto de opciones HTTP
Devoluciones
callSubOrchestrator(string, unknown, string)
Programa una función de orquestación denominada name para su ejecución.
function callSubOrchestrator(name: string, input?: unknown, instanceId?: string): Task
Parámetros
- name
-
string
Nombre de la función de orquestador a la que se va a llamar.
- input
-
unknown
Entrada serializable json para pasar a la función de orquestador.
- instanceId
-
string
Identificador único que se va a usar para la instancia de sub orquestación.
Si no se especifica instanceId, la extensión generará un identificador con el formato <calling orchestrator instance ID>:<#>
Devoluciones
callSubOrchestratorWithRetry(string, RetryOptions, unknown, string)
Programa una función de orquestador denominada name para su ejecución con opciones de reintento.
function callSubOrchestratorWithRetry(name: string, retryOptions: RetryOptions, input?: unknown, instanceId?: string): Task
Parámetros
- name
-
string
Nombre de la función de orquestador a la que se va a llamar.
- retryOptions
- RetryOptions
Las opciones de reintento para la función de orquestador.
- input
-
unknown
Entrada serializable json para pasar a la función de orquestador.
- instanceId
-
string
Identificador único que se va a usar para la instancia de sub orquestación.
Devoluciones
continueAsNew(unknown)
Reinicia la orquestación borrando su historial.
function continueAsNew(input: unknown)
Parámetros
- input
-
unknown
Datos serializables json con los que se va a volver a inicializar la instancia.
createTimer(Date)
Crea un temporizador duradero que expira en un momento especificado.
Todos los temporizadores duraderos creados con este método deben expirar o cancelarse mediante TimerTask.cancel() antes de que se complete la función de orquestador. De lo contrario, el marco subyacente mantendrá activa la instancia hasta que expire el temporizador.
function createTimer(fireAt: Date): TimerTask
Parámetros
- fireAt
-
Date
Hora a la que debe expirar el temporizador.
Devoluciones
TimerTask que se completa cuando expira el temporizador duradero.
getInput<T>()
Obtiene la entrada de la función de orquestador actual como un valor deserializado.
function getInput<T>(): T
Devoluciones
T
newGuid(string)
Crea un nuevo GUID que es seguro para la reproducción dentro de una orquestación o operación.
La implementación predeterminada de este método crea un UUID basado en nombres mediante el algoritmo de RFC 4122 §4.3. La entrada de nombre usada para generar este valor es una combinación del identificador de instancia de orquestación y un número de secuencia administrado internamente.
function newGuid(input: string): string
Parámetros
- input
-
string
se usa para generar el GUID único
Devoluciones
string
setCustomStatus(unknown)
Establece el estado serializable de JSON de la función de orquestador actual.
El valor de customStatusObject se serializa en JSON y estará disponible para las API de consulta de estado de orquestación. El valor JSON serializado no debe superar los 16 KB de texto codificado UTF-16.
El valor de customStatusObject serializado estará disponible para las API mencionadas anteriormente después de la siguiente instrucción yield o return.
function setCustomStatus(customStatusObject: unknown)
Parámetros
- customStatusObject
-
unknown
Valor serializable json que se va a usar como estado personalizado de la función de orquestador.
signalEntity(EntityId, string, unknown)
Envíe una operación de señal a una entidad durable, pasando un argumento, sin esperar una respuesta. Una operación de fuego y olvido.
function signalEntity(entityId: EntityId, operationName: string, operationInput?: unknown)
Parámetros
- entityId
- EntityId
Identificador de la entidad de destino.
- operationName
-
string
Nombre de la operación.
- operationInput
-
unknown
(opcional) entrada para la operación.
waitForExternalEvent(string)
Espera de forma asincrónica para que se genere un evento con el nombre name y devuelva los datos del evento.
Los clientes externos pueden generar eventos en una instancia de orquestación en espera mediante raiseEvent().
function waitForExternalEvent(name: string): Task
Parámetros
- name
-
string
Nombre del evento externo que se va a esperar.
Devoluciones
tarea que se completa cuando se recibe un evento externo del nombre especificado