Creación de una dependencia de un desencadenador de ventana de saltos de tamaño constante
SE APLICA A: Azure Data Factory Azure Synapse Analytics
Sugerencia
Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.
En este artículo se exponen los pasos necesarios para crear una dependencia en un desencadenador de ventana de saltos de tamaño constante. Para obtener información general acerca de los desencadenadores de periódicos, consulte Creación de un desencadenador periódico.
Con el fin de generar una cadena de dependencia y de asegurarse de que un desencadenador se ejecuta solo después de la correcta ejecución de otro desencadenador en el servicio, utilice esta característica avanzada para crear una dependencia de ventana de saltos de tamaño constante.
Puede ver una demostración de cómo crear canalizaciones dependientes mediante un desencadenador periódico en el vídeo siguiente:
Creación de una dependencia en la interfaz de usuario
Para crear dependencias de un desencadenador, seleccione Desencadenador>Avanzado>Nuevo. A continuación, elija el desencadenador del que se va a depender con el desplazamiento y el tamaño adecuados. Seleccione Finalizar y publique los cambios para que se apliquen las dependencias.
Propiedades de dependencia de ventana de saltos de tamaño constante
Un desencadenador de ventana de saltos de tamaño constante con una dependencia tiene las siguientes propiedades:
{
"name": "MyTriggerName",
"properties": {
"type": "TumblingWindowTrigger",
"runtimeState": <<Started/Stopped/Disabled - readonly>>,
"typeProperties": {
"frequency": <<Minute/Hour>>,
"interval": <<int>>,
"startTime": <<datetime>>,
"endTime": <<datetime - optional>>,
"delay": <<timespan - optional>>,
"maxConcurrency": <<int>> (required, max allowed: 50),
"retryPolicy": {
"count": <<int - optional, default: 0>>,
"intervalInSeconds": <<int>>,
},
"dependsOn": [
{
"type": "TumblingWindowTriggerDependencyReference",
"size": <<timespan - optional>>,
"offset": <<timespan - optional>>,
"referenceTrigger": {
"referenceName": "MyTumblingWindowDependency1",
"type": "TriggerReference"
}
},
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": <<timespan - optional>>,
"offset": <<timespan>>
}
]
}
}
}
En la tabla siguiente se proporciona la lista de los atributos necesarios para definir una dependencia de ventana de saltos de tamaño constante.
Nombre de propiedad | Descripción | Type | Obligatorio |
---|---|---|---|
type |
Todos los desencadenadores periódicos existentes se muestran en este menú desplegable. Elija el desencadenador del que se va a depender. | TumblingWindowTriggerDependencyReference o SelfDependencyTumblingWindowTriggerReference |
Sí |
offset |
Desplazamiento del desencadenador de dependencia. Proporcione un valor en el formato de intervalo de tiempo. Se permiten desplazamientos negativos y positivos. Esta propiedad es obligatoria si el desencadenador depende de sí mismo. En todos los demás casos, es opcional. La autodependencia debe tener siempre un valor de desplazamiento negativo. Si no se especifica ningún valor, la ventana es la misma que el desencadenador. | TimeSpan (hh:mm:ss) |
Autodependencia: Sí Otros: No |
size |
Tamaño de la ventana de saltos de tamaño constante de dependencia. Proporcione un valor de intervalo de tiempo positivo. Esta propiedad es opcional. | TimeSpan (hh:mm:ss) |
No |
Nota
Un desencadenador de ventana de saltos de tamaño constante puede depender de un máximo de otros cinco desencadenadores.
Propiedades de la autodependencia de ventana de saltos de tamaño constante
En los escenarios en los que el desencadenador no debe continuar a la siguiente ventana hasta que se haya completado correctamente la ventana anterior, cree una autodependencia. Un desencadenador de autodependencia que depende del éxito de sus propias ejecuciones anteriores durante la hora anterior tendrá las propiedades que se indican en el código siguiente.
Nota:
Si la canalización desencadenada se basa en la salida de las canalizaciones en las ventanas desencadenadas previamente, se recomienda usar solo la autodependencia del desencadenador de la ventana de saltos de tamaño constante. Para limitar ejecuciones de desencadenador paralelas, defina la simultaneidad máxima del desencadenador.
{
"name": "DemoSelfDependency",
"properties": {
"runtimeState": "Started",
"pipeline": {
"pipelineReference": {
"referenceName": "Demo",
"type": "PipelineReference"
}
},
"type": "TumblingWindowTrigger",
"typeProperties": {
"frequency": "Hour",
"interval": 1,
"startTime": "2018-10-04T00:00:00Z",
"delay": "00:01:00",
"maxConcurrency": 50,
"retryPolicy": {
"intervalInSeconds": 30
},
"dependsOn": [
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": "01:00:00",
"offset": "-01:00:00"
}
]
}
}
}
Escenarios de uso y ejemplos
En los escenarios siguientes se muestra el uso de las propiedades de dependencia de ventana de saltos de tamaño constante.
Desplazamiento de la dependencia
Tamaño de la dependencia
Autodependencia
Dependencia de otro desencadenador de ventana de saltos de tamaño constante
En el ejemplo siguiente se muestra un trabajo de procesamiento de telemetría diario que depende de otro trabajo diario que agrega los últimos siete días de salida y genera flujos de ventana graduales de siete días.
Dependencia de sí mismo
En el ejemplo siguiente se muestra un trabajo diario sin huecos en los flujos de salida del trabajo.
Supervisión de dependencias
Puede supervisar la cadena de dependencias y las ventanas correspondientes desde la página de supervisión de ejecución del desencadenador. Vaya a Supervisión>Ejecuciones de desencadenador. Si un desencadenador periódico tiene dependencias, el nombre del desencadenador llevará un hipervínculo a la vista de supervisión de dependencias.
Haga clic en el nombre del desencadenador para ver sus dependencias. El panel de la derecha muestra información de ejecución del desencadenador, como el identificador de ejecución, la hora de la ventana y el estado.
Puede ver el estado de las dependencias y las ventanas de cada desencadenador dependiente. Si se produce un error en uno de los desencadenadores de dependencias, debe volver a ejecutarlo correctamente para que se ejecute el desencadenador dependiente.
Un desencadenador periódico esperará las dependencias durante siete días antes de que se agote el tiempo de espera. Pasados los siete días, se producirá un error en la ejecución del desencadenador.
Nota:
No se puede cancelar un desencadenador periódico mientras se encuentra en estado Esperando a la dependencia. Para que se pueda cancelar el desencadenador periódico, la actividad dependiente debe finalizar. Esta restricción es así por naturaleza y tiene la finalidad de garantizar que las actividades dependientes se pueden completar una vez que se han iniciado. También ayuda a reducir la probabilidad de resultados inesperados.
Para ver de forma más clara la programación de dependencias del desencadenador, seleccione la vista de Gantt.
Los cuadros transparentes muestran las ventanas de dependencia de cada desencadenador dependiente de nivel inferior. Los cuadros de color sólido que se muestran en la imagen anterior indican ejecuciones de ventana individuales. A continuación se muestran algunas sugerencias para interpretar la vista del gráfico de Gantt:
- Los cuadros transparentes se representan en azul cuando las ventanas dependientes están en estado Pendiente o En ejecución.
- Una vez que todas las ventanas se han ejecutado correctamente para un desencadenador dependiente, el cuadro transparente se pone en verde.
- Los cuadros transparentes se representan en rojo cuando se produce un error en una ventana dependiente. Busque un cuadro rojo sólido para identificar un error de ejecución de ventana.
Para volver a ejecutar una ventana en la vista del gráfico de Gantt, seleccione el cuadro de color sólido de la ventana. Aparece un panel de acciones con información y opciones para volver a ejecutarla.