Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use el Programador de tareas duraderas como back-end para sus aplicaciones de Durable Functions para almacenar el estado de ejecución de la orquestación y de las entidades. En este inicio rápido, clonará un ejemplo de Hello Cities que ya está configurado para usar durable Task Scheduler, lo ejecutará localmente con el emulador y, a continuación, lo implementará en Azure.
- Clone el ejemplo Hello Cities preconfigurado para Durable Task Scheduler.
- Configure el emulador de Durable Task Scheduler para el desarrollo local.
- Ejecute el ejemplo y compruebe la salida de orquestación.
- Implemente su aplicación en Azure y supervísela mediante el panel de Durable Task Scheduler.
Prerrequisitos
Sugerencia
Una vez que el emulador esté en ejecución, puedes acceder al panel de Durable Task Scheduler en http://localhost:8082 para supervisar las orquestaciones.
Ejecución del ejemplo de inicio rápido
Instale la versión más reciente de la Microsoft. Azure. Functions.Worker.Extensions.DurableTask.AzureManaged paquete mediante el comando dotnet add package:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease
Nota:
La extensión Durable Task Scheduler requiere la versión Microsoft.Azure.Functions.Worker.Extensions.DurableTask o superior.1.2.2
Compile e inicie la aplicación de funciones:
dotnet build func start
En host.json, actualice la propiedad para usar la extensionBundle versión 4.32.0 o posterior, que incluye compatibilidad con el Programador de tareas durables:
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.32.0, 5.0.0)"
}
}
Inicie la aplicación de funciones:
func start
Compile e inicie la aplicación de funciones:
mvn clean package mvn azure-functions:run
En un terminal independiente, desencadene una orquestación:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart $response
En un terminal independiente, desencadene una orquestación:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining $response
La respuesta contiene direcciones URL de estado para la instancia de orquestación. Consulte
statusQueryGetUripara comprobar el resultado:Invoke-RestMethod -Uri $response.statusQueryGetUriCuando el
runtimeStatusde la orquestación esCompleted, la salida contiene resultados de saludo. SiruntimeStatusmuestraRunningoPending, espere un momento y vuelva a realizar la consulta.Vea más detalles sobre la instancia de la orquestación en el Panel del programador de tareas duraderas en
http://localhost:8082.
Descripción de la configuración del Programador de tareas duraderas
La configuración de clave que hace que estos ejemplos usen durable Task Scheduler se encuentra en dos archivos.
host.json
La sección storageProvider indica Durable Functions que use el Programador de tareas durables (azureManaged) en lugar del back-end de Azure Storage predeterminado:
{
"extensions": {
"durableTask": {
"hubName": "default",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
local.settings.json
La cadena de conexión apunta al emulador local para desarrollo:
{
"Values": {
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
}
}
Nota:
Para migrar una aplicación de Durable Functions existente, actualice estos dos archivos y agregue el paquete de extensión adecuado para el idioma. Para .NET, instale el Microsoft.Azure. Functions.Worker.Extensions.DurableTask.AzureManaged paquete NuGet. Para otros lenguajes, actualice la agrupación de extensiones en host.json a la versión [4.32.0, 5.0.0).
Ejecución de la aplicación en Azure
Creación de los recursos necesarios
Cree una instancia de Durable Task Scheduler y una aplicación de Azure Functions en Azure siguiendo el flujo de creación integrada de la aplicación Function. Esta experiencia configurará automáticamente el acceso basado en identidades y configurará las variables de entorno necesarias para que la aplicación acceda al programador.
Vaya a la hoja de creación de aplicaciones de funciones.
En la hoja Crear aplicación de funciones (consumo flexible), rellene la información de la pestaña Aspectos básicos.
Campo Descripción Subscription Seleccione su suscripción a Azure. Grupo de recursos Seleccione uno existente o haga clic en Crear para crear un grupo de recursos nuevo. Nombre de la aplicación de función Cree un nombre único para su aplicación de funciones. ¿Desea implementar código o imágenes de contenedor? Mantenga seleccionada la opción Código. Region Seleccione alguna de las regiones admitidas. Pila en tiempo de ejecución Seleccione el entorno de ejecución que usa para este inicio rápido. Versión Seleccione la versión de la pila en tiempo de ejecución. Tamaño de instancia Seleccione un tamaño de instancia o use la selección predeterminada. Obtenga más información sobre los tamaños de instancia. Redundancia de zona Deje como valor predeterminado Deshabilitado . Seleccione la pestaña Durable Functions.
Elija Azure managed: Durable Task Scheduler como proveedor de back-end para Durable Functions.
Cree un recurso de programador. Esta acción crea automáticamente un centro de tareas.
Campo Descripción Backend de almacenamiento Seleccione Azure managed: Durable Task Scheduler. Region Asegúrese de que las regiones del programador y de la aplicación de funciones son las mismas. Programador de tareas duraderas Use el nombre del programador ofrecido o haga clic en Crear nuevo para crear un nombre personalizado. Planificación Seleccione el plan de precios que mejor se adapte a su proyecto. Consulte la guía Elegir un marco de orquestación para determinar qué plan es mejor para su uso en producción. Unidades de capacidad Solo es aplicable cuando se selecciona el plan de precios "Dedicado". Puede seleccionar hasta 3 unidades de capacidad. Haga clic en Revisar y crear para revisar la creación de recursos.
Se crea automáticamente una identidad administrada asignada por el usuario con el permiso de control de acceso basado en rol (RBAC) necesario y se agrega a la aplicación de funciones. Puede encontrar en la información de vista de resumen relacionada con el recurso de identidad administrada, como:
El rol asignado a él (Colaborador de datos de Durable Task)
La asignación delimitada al nivel central de tareas
Haga clic en Crear una vez superada la validación.
La implementación de recursos puede tardar entre 15 y 20 minutos. Una vez que haya finalizado, puede implementar la aplicación en Azure.
Implementación de la aplicación de funciones en Azure
Importante
La implementación en una aplicación de funciones existente siempre sobrescribe el contenido de esa aplicación en Azure.
En la paleta de comandos, escriba y seleccione Azure Functions: Implementar en Function App.
Seleccione la aplicación de funciones que acaba de crear. Cuando se le solicite sobrescribir las implementaciones anteriores, seleccione Implementar para implementar el código de función en el nuevo recurso de aplicación de funciones.
Cuando se complete la implementación, seleccione View Output para ver los resultados de creación e implementación, incluidos los recursos de Azure que creó. Si se pierde la notificación, seleccione el icono de campana en la esquina inferior derecha para verlo de nuevo.
Aplicaciones en el plan Premium de Functions
Si la aplicación se ejecuta en el plan Functions Premium, active la configuración Supervisión de escalado en tiempo de ejecución después de la implementación para asegurarse de que la aplicación se escala automáticamente en función de la carga:
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
Prueba de la aplicación de funciones
Ejecute el siguiente comando para obtener la dirección URL de la función:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Comprobación del estado de la orquestación
Compruebe el estado de la instancia de orquestación y los detalles de la actividad en el panel del Programador de tareas duraderas. El acceso al panel requiere que inicie sesión.
Nota:
En la siguiente instrucción se muestra una asignación de roles con ámbito de una central de tareas específica. Si necesita acceso a todos los centros de tareas de un programador, realice la asignación en el nivel del programador.
Vaya al recurso Programador de tareas durables en el portal.
Haga clic en un nombre de la central de tareas.
En el menú izquierdo, seleccione Control de acceso (IAM) .
Haga clic en Agregar para agregar una asignación de roles.
Busque y seleccione Colaborador de datos de Durable Task. Haga clic en Next.
En la pestaña Miembros, en Asignar acceso a, seleccione Usuario, grupo o entidad de servicio.
En Miembros, haga clic en + Seleccionar miembros.
En el panel Seleccionar miembros, busque el nombre o el correo electrónico:
Elija el correo electrónico y haga clic en el botón Seleccionar.
Haga clic en Revisar y asignar para terminar de asignar el rol.
Una vez asignado el rol, haga clic en Información general en el menú izquierdo del recurso del centro de tareas y vaya a la dirección URL del panel ubicada en la sección Essentials superior.
Limpieza de recursos
Si ya no necesita los recursos que creó para completar el inicio rápido, para evitar costos relacionados en la suscripción de Azure, delete el grupo de recursos y todos los recursos relacionados.
Pasos siguientes
- Obtenga más información sobre el panel del Programador de tareas durables.
- Solucione los errores que pueda encontrar al usar el Programador de tareas durables.