Edición de la configuración de host y aplicación para las aplicaciones lógicas estándar en Azure Logic Apps de inquilino único

Se aplica a: Azure Logic Apps (estándar)

En Azure Logic Apps de inquilino único, la configuración de aplicación de una aplicación lógica Estándar especifica las opciones de configuración global que afectan a todos los flujos de trabajo de esa aplicación lógica. Sin embargo, esta configuración solo se aplica cuando estos flujos de trabajo se ejecutan en el entorno de desarrollo local. Los flujos de trabajo que se ejecutan localmente pueden acceder a esta configuración de aplicación como variables de entorno local, usadas por las herramientas de desarrollo local para los valores que a menudo pueden cambiar entre entornos. Por ejemplo, estos valores pueden incluir cadenas de conexión. Al implementar en Azure, la configuración de aplicación se omite y no se incluye con la implementación.

La aplicación lógica también tiene la configuración de host, que especifica los valores y la configuración del entorno de ejecución que se aplican a todos los flujos de trabajo de esa aplicación lógica, por ejemplo, los valores predeterminados para el rendimiento, la capacidad, el tamaño de los datos, entre otros, tanto si se ejecutan localmente como en Azure.

Configuración de aplicación, parámetros e implementación

En Azure Logic Apps multiinquilino, la implementación depende de las plantillas de Azure Resource Manager (plantillas de ARM), que combinan y controlan el aprovisionamiento de recursos para las aplicaciones lógicas y la infraestructura. Este diseño supone un desafío cuando tiene que mantener variables de entorno para aplicaciones lógicas en varios entornos de desarrollo, pruebas y producción. Todo lo que hay en una plantilla de ARM se define en la implementación. Si necesita cambiar solo una variable, tendrá que volver a implementarlo todo.

En Azure Logic Apps de inquilino único, la implementación es más fácil porque puede separar el aprovisionamiento de recursos entre las aplicaciones y la infraestructura. Puede usar parámetros para abstraer los valores que pueden cambiar entre entornos. Al definir los parámetros que se usarán en los flujos de trabajo, primero puede centrarse en el diseño de los flujos de trabajo y, a continuación, insertar las variables específicas del entorno más adelante. Puede llamar a las variables de entorno de ejecución y hacer referencia a estas mediante la configuración y los parámetros de la aplicación. De este modo, no tiene que volver a implementar con tanta frecuencia.

La configuración de aplicación se integra con Azure Key Vault. Puede hacer referencia directamente a cadenas seguras, como claves y cadenas de conexión. De forma similar a las plantillas de Azure Resource Manager (plantillas de ARM), donde puede definir variables de entorno en el momento de la implementación, puede definir la configuración de aplicación dentro de la definición de flujo de trabajo de la aplicación lógica. A continuación, puede capturar valores de infraestructura generados dinámicamente, como puntos de conexión, cadenas de almacenamiento, etc. Sin embargo, la configuración de aplicación tiene limitaciones de tamaño y no se puede hacer referencia a ella desde determinadas áreas de Azure Logic Apps.

Nota:

Si usa Key Vault, asegúrese de almacenar solo secretos, como contraseñas, credenciales y certificados. En un flujo de trabajo de aplicación lógica, no use Key Vault para almacenar valores que no sean secretos, como rutas de acceso de dirección URL, que el diseñador del flujo de trabajo necesita para realizar llamadas. El diseñador no puede someterse a un valor de aplicación que haga referencia a un tipo de recurso de Key Vault, ya que produce un error y no se produce la llamada. En el caso de los valores que no son secretos, se deben almacenar directamente en la configuración de la aplicación.

Para obtener más información sobre cómo configurar las aplicaciones lógicas para la implementación, consulte la siguiente documentación:

Estructura del proyecto de Visual Studio Code

En Visual Studio Code, el proyecto de aplicación lógica tiene uno de los siguientes tipos:

  • Basado en paquete de extensiones (Node.js), que es el tipo predeterminado.
  • Basado en paquetes NuGet (.NET), que se puede convertir desde el tipo predeterminado.

En función de estos tipos, el proyecto incluye carpetas y archivos ligeramente diferentes. Un proyecto basado en NuGet incluye una carpeta .bin que contiene paquetes y otros archivos de biblioteca. Un proyecto basado en paquetes no incluye la carpeta .bin ni otros archivos. Algunos escenarios requieren un proyecto basado en NuGet para que la aplicación se ejecute, por ejemplo, si quiere desarrollar y ejecutar operaciones integradas personalizadas. Para obtener más información sobre cómo convertir el proyecto para que use NuGet, consulte Habilitación de la creación de conectores integrados.

Para el proyecto basado en paquetes predeterminado, el proyecto tiene una estructura de carpetas y archivos similar a la del ejemplo siguiente:

MyBundleBasedLogicAppProjectName
| .vscode
| Artifacts
  || Maps 
     ||| MapName1
     ||| ...
  || Schemas
     ||| SchemaName1
     ||| ...
| WorkflowName1
  || workflow.json
  || ...
| WorkflowName2
  || workflow.json
  || ...
| workflow-designtime
| .funcignore
| connections.json
| host.json
| local.settings.json

En el nivel raíz del proyecto, puede encontrar los siguientes archivos y carpetas con otros elementos:

Nombre Archivo o carpeta Descripción
.vscode Carpeta Contiene archivos de configuración relacionados con Visual Studio Code, como extensions.json, launch.json, settings.json y tasks.json.
Artefactos Carpeta Contiene artefactos de la cuenta de integración que se definen y usan en los flujos de trabajo que admiten escenarios de negocio a negocio (B2B). Por ejemplo, la estructura de ejemplo incluye mapas y esquemas para operaciones de transformación y validación de XML.
<WorkflowName> Carpeta En cada flujo de trabajo, la carpeta <WorkflowName> incluye un archivo workflow.json, que contiene la definición JSON subyacente de ese flujo de trabajo.
workflow-designtime Carpeta Contiene archivos de configuración relacionados con el entorno de desarrollo.
.funcignore Archivo Contiene información relacionada con la instancia de Azure Functions Core Tools instalada.
connections.json Archivo Contiene los metadatos, los puntos de conexión y las claves de las conexiones administradas y de Azure Functions que se usan en los flujos de trabajo.

Importante: Para usar diferentes conexiones y funciones en cada entorno, asegúrese de parametrizar este archivo connections.json y de actualizar los puntos de conexión.
host.json Archivo Contiene valores y opciones de configuración específicos del runtime, como, por ejemplo, los límites predeterminados para la plataforma de Azure Logic Apps de un solo inquilino, las aplicaciones lógicas, los flujos de trabajo, los desencadenadores y las acciones. En el nivel raíz del proyecto de aplicación lógica, el archivo de metadatos host.json contiene los valores y las opciones de configuración predeterminados que todos los flujos de trabajo de la misma aplicación lógica usan mientras se ejecutan, ya sea localmente o en Azure.

Nota: Al crear la aplicación lógica, Visual Studio Code crea un archivo host.snapshot.*.json de copia de seguridad en el contenedor de almacenamiento. Si elimina la aplicación lógica, este archivo de copia de seguridad no se elimina. Si crea otra aplicación lógica con el mismo nombre, se crea otro archivo de instantánea. Solo puede tener 10 instantáneas para la misma aplicación lógica. Si se supera este número, verá el siguiente error:

Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))

Para resolver este error, elimine los archivos de instantáneas adicionales del contenedor de almacenamiento.
local.settings.json Archivo Contiene la configuración de la aplicación, las cadenas de conexión y otras configuraciones que los flujos de trabajo usan mientras se ejecutan localmente. En otras palabras, esta configuración y estos valores solo se aplican cuando se ejecutan los proyectos en el entorno de desarrollo local. Durante la implementación en Azure, el archivo y la configuración se omiten y no se incluyen con la implementación.

Este archivo almacena valores y opciones de configuración como variables de entorno local que las herramientas de desarrollo local usan como valores appSettings. Puede llamar a estas variables de entorno y hacer referencia a ellas tanto en tiempo de ejecución como en tiempo de implementación mediante la configuración de la aplicación y los parámetros.

Importante: el archivo local.settings.json puede contener secretos, por lo que debe asegurarse de excluir también este archivo del control de código fuente del proyecto.

Referencia de la configuración de aplicación: local.settings.json

En Visual Studio Code, en el nivel de raíz del proyecto de aplicación lógica, el archivo local.settings.json contiene opciones de configuración global que afectan a todos los flujos de trabajo de esa aplicación lógica mientras se ejecuta en el entorno de desarrollo local. Cuando los flujos de trabajo se ejecutan localmente, se accede a esta configuración como variables de entorno local, y sus valores a menudo pueden cambiar entre los distintos entornos donde se ejecutan los flujos de trabajo. Para ver y administrar esta configuración, consulte Administración de la configuración de aplicación: local.settings.json.

La configuración de aplicación de Azure Logic Apps funciona de forma similar a la configuración de aplicación de Azure Functions o Azure Web Apps. Si ha usado estos otros servicios antes, es posible que ya esté familiarizado con la configuración de aplicación. Para obtener más información, consulte Referencia de configuración de aplicación de Azure Functions y Uso de Azure Functions Core Tools: archivo de configuración local.

Para que el flujo de trabajo se ejecute correctamente, se requieren algunas opciones de configuración de la aplicación.

Configuración Obligatorio Valor Descripción
APP_KIND workflowApp Necesario para establecer el tipo de aplicación para el recurso de aplicación lógica estándar. El valor debe establecerse en workflowApp.

Nota: en algunos escenarios, es posible que falte esta configuración de aplicación, por ejemplo, debido a la automatización mediante plantillas de Azure Resource Manager u otros escenarios en los que no se incluye la configuración. Si ciertas acciones no funcionan, como la acción Ejecutar código JavaScript o si el flujo de trabajo deja de funcionar, compruebe que la configuración de la aplicación APP_KIND existe y está establecida en workflowApp.
AzureWebJobsStorage None Contiene la cadena de conexión de una cuenta de Azure Storage. Para obtener más información, consulte AzureWebJobsStorage.
FUNCTINONS_EXTENSION_VERSION ~4 Necesario para establecer la versión de Azure Functions. Para obtener más información, consulte FUNCTIONS_EXTENSION_VERSION.
FUNCTIONS_WORKER_RUNTIME dotnet Necesario para establecer el runtime del lenguaje de trabajo para el recurso y los flujos de trabajo de la aplicación lógica.

Nota: el valor de esta configuración se estableció anteriormente en node, pero ahora el valor necesario es dotnet para todas las aplicaciones lógicas estándar nuevas y existentes implementadas. Este cambio no debe afectar al tiempo de ejecución del flujo de trabajo, por lo que todo debería funcionar de la misma manera que antes.

Para más información, consulte FUNCTIONS_WORKER_RUNTIME.
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger No 00:00:20
(20 segundos)
Establece el tiempo del búfer para que omita los archivos que tienen una marca de tiempo de última modificación mayor que la hora actual. Esta configuración es útil cuando las escrituras de archivos grandes tardan mucho tiempo y evitan la captura de datos de un archivo escrito parcialmente.
ServiceProviders.Sftp.OperationTimeout No 00:02:00
(2 minutos)
Establece el tiempo que se debe esperar antes de que se agote el tiempo de espera de cualquier operación.
ServiceProviders.Sftp.ServerAliveInterval No 00:30:00
(30 min)
Envíe un mensaje "mantener conexión" para mantener activa la conexión SSH si no se produce ningún intercambio de datos con el servidor durante el período especificado.
ServiceProviders.Sftp.SftpConnectionPoolSize No 2 conexiones Establece el número de conexiones que cada procesador puede almacenar en caché. El número total de conexiones que puede almacenar en caché es ProcessorCount multiplicado por el valor de la configuración.
ServiceProviders.MaximumAllowedTriggerStateSizeInKB No 10 KB, que es ~1000 archivos Establece el tamaño de la entidad de estado del desencadenador en kilobytes, el cual es proporcional al número de archivos de la carpeta supervisada y se usa para detectar archivos. Si el número de archivos supera los 1000, aumente este valor.
ServiceProviders.Sql.QueryTimeout No 00:02:00
(2 minutos)
Establece el valor de tiempo de espera de solicitud para las operaciones del proveedor de servicios de SQL.
WEBSITE_CONTENTSHARE Dinámica Necesario para establecer el nombre del recurso compartido de archivos que Azure Functions usa para almacenar archivos de configuración y el código de la aplicación de funciones y se usa con WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. El valor predeterminado es una cadena única generada por el tiempo de ejecución. Para obtener más información, consulte WEBSITE_CONTENTSHARE.
WEBSITE_LOAD_ROOT_CERTIFICATES No Ninguno Establece las huellas digitales para que los certificados raíz sean de confianza.
Workflows.Connection.AuthenticationAudience No Ninguno Establece la audiencia para autenticar una conexión administrada (hospedada en Azure).
Workflows.CustomHostName No Ninguno Establece el nombre de host que se va a usar para las direcciones URL de entrada y salida y de flujo de trabajo; por ejemplo, "logic.contoso.com". Para información sobre cómo configurar un nombre DNS personalizado, consulte Asignación de un nombre DNS personalizado existente a Azure App Service y Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service.
Workflows.<workflowName>.FlowState No Ninguno Establece el estado para <workflowName>.
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays No Ninguno Establece la cantidad de tiempo, en días, que se mantiene el historial de ejecución de <workflowName>.
Workflows.RuntimeConfiguration.RetentionInDays No 90 días Establece la cantidad de tiempo, en días, que se mantiene el historial de ejecución de los flujos de trabajo después de que se inicia una ejecución.
Workflows.WebhookRedirectHostUri No Ninguno Establece el nombre de host que se usará para las direcciones URL de devolución de llamada de webhook.

Administración de la configuración de aplicación: local.settings.json

Para agregar, actualizar o eliminar la configuración de la aplicación, seleccione y revise las secciones siguientes para Azure Portal, Visual Studio Code, la CLI de Azure o la plantilla de ARM (Bicep). Para ver la configuración de aplicación específica de las aplicaciones lógicas, revise la guía de referencia de la configuración de aplicación disponible: local.settings.json.

Visualización de la configuración de la aplicación en el portal
  1. En el cuadro de búsqueda de Azure Portal, busque y abra la aplicación lógica.

  2. En el menú de la aplicación lógica, en Configuración, seleccione Variables de entorno.

  3. En la página Variables de entorno, en la pestaña Configuración de la aplicación, revise la configuración de la aplicación lógica.

    Para obtener más información sobre esta configuración, revise la guía de referencia de la configuración de aplicación disponible: local.settings.json.

  4. Para ver todos los valores, seleccione Mostrar valores. O bien, para ver un valor único, en la columna Valor, junto al valor, seleccione el "ojo".

Adición de una configuración de aplicación en el portal
  1. En la pestaña Configuración de la aplicación, en la parte inferior de la lista, en la columna Nombre, escriba la clave o el nombre de la nueva configuración.

  2. En Valor, escriba el valor de la nueva configuración.

  3. Cuando esté listo para crear el nuevo par clave-valor, seleccione Aplicar.

    Captura de pantalla que muestra Azure Portal con la página de configuración de la aplicación y los valores de un recurso de aplicación lógica Estándar.

Referencia de la configuración de host: host.json

En Visual Studio Code, en el nivel de raíz del proyecto de aplicación lógica, el archivo de metadatos host.json contiene la configuración del entorno de ejecución y los valores predeterminados que se aplican a todos los flujos de trabajo de un recurso de aplicación lógica, ya sea que se ejecuten localmente o en Azure. Para ver y administrar esta configuración, consulte Administración de la configuración de host: host.json. También puede encontrar información relacionada sobre los límites en la documentación Límites y configuración de Azure Logic Apps.

Rendimiento de la orquestación de trabajos

Esta configuración afecta al rendimiento y la capacidad de Azure Logic Apps de inquilino único para ejecutar operaciones de flujo de trabajo.

Configuración Valor predeterminado Descripción
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval 00:00:01
(1 segundo)
Establece el intervalo para que los distribuidores de trabajos sondeen la cola de trabajos cuando el sondeo anterior no devuelve ningún trabajo. Los distribuidores de trabajos sondean la cola inmediatamente cuando el sondeo anterior devuelve un trabajo.
Jobs.BackgroundJobs.NumPartitionsInJobDefinitionsTable Particiones de trabajo de 4 Establece el número de particiones de trabajo en la tabla de definición de trabajo. Este valor controla cuánto rendimiento de ejecución se ve afectado por los límites de almacenamiento de particiones.
Jobs.BackgroundJobs.NumPartitionsInJobTriggersQueue Cola de trabajos de 1 Establece el número de colas de trabajos supervisadas por los distribuidores de trabajos para que los procese. Este valor también afecta al número de particiones de almacenamiento donde existen colas de trabajo.
Jobs.BackgroundJobs.NumWorkersPerProcessorCount Instancias de trabajo del distribuidor de 192 Establece el número de instancias de trabajo de distribuidor o distribuidores de trabajos que debe tener por núcleo de procesador. Este valor afecta al número de ejecuciones de flujo de trabajo por núcleo.
Jobs.BackgroundJobs.StatelessNumWorkersPerProcessorCount Instancias de trabajo del distribuidor de 192 Define el número de instancias de rol de trabajo de distribuidor o distribuidores de trabajos que debe tener por núcleo, por ejecución sin estado. Este valor afecta al número de acciones de flujo de trabajo simultáneas que se procesan por ejecución.

Los siguientes valores se usan para detener de forma manual y eliminar inmediatamente los flujos de trabajo especificados en la aplicación lógica estándar.

Nota:

Use estos valores con precaución y solo en entornos que no sean de producción, como entornos de pruebas de carga o rendimiento, ya que estas operaciones no se pueden deshacer ni recuperarse de ellas.

Configuración Valor predeterminado Descripción
Jobs.CleanupJobPartitionPrefixes None Elimina inmediatamente todos los trabajos de ejecución para los flujos de trabajo especificados.
Jobs.SuspendedJobPartitionPartitionPrefixes None Detiene los trabajos de ejecución para los flujos de trabajo especificados.

En el ejemplo siguiente se muestra la sintaxis de estos valores en los que cada identificador de flujo de trabajo va seguido de dos puntos (:) y separados por un punto y coma (;):

"Jobs.CleanupJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2:",
"Jobs.SuspendedJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2>:"

Desencadenadores basados en periodicidad

Configuración Valor predeterminado Descripción
Microsoft.Azure.Workflows.ServiceProviders.MaximumAllowedTriggerStateSizeInKB 1 KB Establece el tamaño máximo permitido del estado del desencadenador, para los desencadenadores basados en periodicidad, como el desencadenador SFTP integrado. El estado del desencadenador conserva los datos en varios desencadenadores basados en periodicidad del proveedor de servicios.

Importante: en función del tamaño de almacenamiento, evite establecer este valor demasiado alto, ya que puede afectar negativamente al almacenamiento y al rendimiento.

Simultaneidad de desencadenadores

La siguiente configuración solo funciona para los flujos de trabajo que comienzan con un desencadenador basado en periodicidad para conectores integrados basados en proveedores de servicios. En el caso de un flujo de trabajo que comienza con un desencadenador basado en funciones, puede intentar configurar el procesamiento por lotes donde se admita. Sin embargo, el procesamiento por lotes no siempre es la solución correcta. Por ejemplo, con los desencadenadores de Azure Service Bus, un lote podría mantener los mensajes más allá de la duración del bloqueo. Como resultado, cualquier acción, como completar o abandonar, produce un error en dichos mensajes.

Configuración Valor predeterminado Descripción
Runtime.Trigger.MaximumRunConcurrency 100 ejecuciones Establece el número máximo de ejecuciones simultáneas que puede iniciar un desencadenador. Este valor aparece en la definición de simultaneidad del desencadenador.
Runtime.Trigger.MaximumWaitingRuns 200 ejecuciones Establece el número máximo de ejecuciones que pueden esperar después de que las ejecuciones simultáneas cumplan el máximo. Este valor aparece en la definición de simultaneidad del desencadenador. Para obtener más información, consulte Cambio del límite de ejecuciones en espera.

Retención del historial y duración de ejecución

Configuración Valor predeterminado Descripción
Runtime.Backend.FlowRunTimeout 90.00:00:00
(90 días)
Establece la cantidad de tiempo que un flujo de trabajo puede seguir ejecutándose antes de forzar un tiempo de espera. El valor mínimo de esta opción de configuración es 7 días.

Importante: Asegúrese de que este valor es menor o igual que el valor de la configuración de la aplicación denominada Workflows.RuntimeConfiguration.RetentionInDays. De lo contrario, los historiales de ejecución podrían eliminarse antes de que se completen los trabajos asociados.
Runtime.FlowMaintenanceJob.RetentionCooldownInterval 7.00:00:00
(7 días)
Establece la cantidad de tiempo, en días, como intervalo entre el momento de comprobar y eliminar el historial de ejecución que no se desea conservar.

Ejecutar acciones

Configuración Valor predeterminado Descripción
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout 00:10:00
(10 minutos)
Establece la cantidad de tiempo para que se ejecute un trabajo de acción de un flujo de trabajo antes de que se agote el tiempo de espera y se vuelva a intentar.

Entradas y salidas

Configuración Valor predeterminado Descripción
Microsoft.Azure.Workflows.TemplateLimits.InputParametersLimit 50 Cambie el límite predeterminado en los parámetros de flujo de trabajo entre entornos hasta 500 para las aplicaciones lógicas estándar creadas mediante la exportación de aplicaciones lógicas de consumo.
Runtime.ContentLink.MaximumContentSizeInBytes 104857600 bytes Establece el tamaño máximo en bytes que puede tener una entrada o salida en un único desencadenador o acción.
Runtime.FlowRunActionJob.MaximumActionResultSize 209715200 bytes Establece el tamaño máximo en bytes que pueden tener las entradas y salidas combinadas en una única acción.

Paginación

Configuración Valor predeterminado Descripción
Runtime.FlowRunRetryableActionJobCallback.MaximumPageCount 1000 páginas Cuando se admite y habilita la paginación en una operación, establece el número máximo de páginas que se devolverán o procesarán en tiempo de ejecución.

Fragmentación

Configuración Valor predeterminado Descripción
Runtime.FlowRunRetryableActionJobCallback.MaximumContentLengthInBytesForPartialContent 1073741824 bytes Cuando se admite y habilita la fragmentación en una operación, establece el tamaño máximo en bytes para el contenido descargado o cargado.
Runtime.FlowRunRetryableActionJobCallback.MaxChunkSizeInBytes 52428800 bytes Cuando se admite y habilita la fragmentación en una operación, establece el tamaño máximo en bytes para cada fragmento de contenido.
Runtime.FlowRunRetryableActionJobCallback.MaximumRequestCountForPartialContent 1000 solicitudes Cuando se admite y habilita la fragmentación en una operación, establece el número máximo de solicitudes que puede realizar una ejecución de acción para descargar contenido.

Almacenamiento de contenido en línea o uso de blobs

Configuración Valor predeterminado Descripción
Runtime.FlowRunEngine.ForeachMaximumItemsForContentInlining 20 elementos Cuando se ejecuta un bucle For each, el valor de cada elemento se almacena en línea con otros metadatos en Table Storage o por separado en Blob Storage. Establece el número de elementos que se almacenarán en línea con otros metadatos.
Runtime.FlowRunRetryableActionJobCallback.MaximumPagesForContentInlining 20 páginas Establece el número máximo de páginas que se almacenarán como contenido en línea en Table Storage antes de almacenarlas en Blob Storage.
Runtime.FlowTriggerSplitOnJob.MaximumItemsForContentInlining 40 elementos Cuando la configuración SplitOn quita del lote los elementos de matriz en varias instancias de flujo de trabajo, el valor de cada elemento se almacena en línea con otros metadatos en Table Storage o por separado en Blob Storage. Establece el número de elementos que se almacenarán en línea.
Runtime.ScaleUnit.MaximumCharactersForContentInlining 8192 caracteres Establece el número máximo de caracteres de entrada y salida de la operación que se almacenarán en línea en Table Storage antes de almacenarlos en Blob Storage.

Bucles Para cada uno

Configuración Valor predeterminado Descripción
Runtime.Backend.FlowDefaultForeachItemsLimit 100000elementos de matriz Para un flujo de trabajo con estado, establece el número máximo de elementos de matriz que se procesarán en un bucle For each.
Runtime.Backend.FlowDefaultSplitOnItemsLimit 100000elementos de matriz Establece el número máximo de elementos de matriz que se quitarán del lote o dividirán en varias instancias de flujo de trabajo según la configuración de SplitOn.
Runtime.Backend.ForeachDefaultDegreeOfParallelism 20 iteraciones Establece el número predeterminado de iteraciones simultáneas, o grado de paralelismo, en un bucle For each. Para que se ejecuten secuencialmente, establezca el valor en 1.
Runtime.Backend.Stateless.FlowDefaultForeachItemsLimit 100 elementos Para un flujo de trabajo sin estado, establece el número máximo de elementos de matriz que se procesarán en un bucle For each.

Bucles Until

Configuración Valor predeterminado Descripción
Runtime.Backend.MaximumUntilLimitCount 5000 iteraciones Para un flujo de trabajo con estado, establece el número máximo posible para la propiedad Count en una acción Until.
Runtime.Backend.Stateless.FlowRunTimeout 00:05:00
(5 minutos)
Establece el tiempo de espera máximo para un bucle Until en un flujo de trabajo sin estado.
Runtime.Backend.Stateless.MaximumUntilLimitCount 100 iteraciones Para un flujo de trabajo sin estado, establece el número máximo posible para la propiedad Count en una acción Until.

variables

Configuración Valor predeterminado Descripción
Runtime.Backend.DefaultAppendArrayItemsLimit 100000elementos de matriz Establece el número máximo de elementos de una variable con el tipo Array.
Runtime.Backend.VariableOperation.MaximumStatelessVariableSize Flujo de trabajo sin estado: 1024 caracteres Establece el tamaño máximo en caracteres para el contenido que puede almacenar una variable cuando se usa en un flujo de trabajo sin estado.
Runtime.Backend.VariableOperation.MaximumVariableSize Flujo de trabajo con estado: 104857600 caracteres Establece el tamaño máximo en caracteres para el contenido que puede almacenar una variable cuando se usa en un flujo de trabajo con estado.

Operaciones HTTP integradas

Configuración Valor predeterminado Descripción
Runtime.Backend.HttpOperation.DefaultRetryCount 4 reintentos Establece el recuento de reintentos predeterminado para desencadenadores y acciones HTTP.
Runtime.Backend.HttpOperation.DefaultRetryInterval 00:00:07
(7 segundos)
Establece el recuento de reintentos predeterminado para desencadenadores y acciones HTTP.
Runtime.Backend.HttpOperation.DefaultRetryMaximumInterval 01:00:00
(1 hora)
Establece el recuento de reintentos predeterminado para desencadenadores y acciones HTTP.
Runtime.Backend.HttpOperation.DefaultRetryMinimumInterval 00:00:05
(5 segundos)
Establece el recuento de reintentos predeterminado para desencadenadores y acciones HTTP.
Runtime.Backend.HttpOperation.MaxContentSize 104857600 bytes Establece el tamaño máximo de la solicitud en bytes solo para acciones HTTP, no para desencadenadores. Para más información, consulte las limitaciones.
Runtime.Backend.HttpOperation.RequestTimeout 00:03:45
(3 minutos y 45 segundos)

Nota: El valor predeterminado también es el valor máximo.
Establece el valor de tiempo de espera de la solicitud para desencadenadores y acciones HTTP.

Operaciones de webhook HTTP integradas

Configuración Valor predeterminado Descripción
Runtime.Backend.HttpWebhookOperation.DefaultRetryCount 4 reintentos Establece el recuento de reintentos predeterminado para acciones y desencadenadores de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryInterval 00:00:07
(7 segundos)
Establece el intervalo de reintentos predeterminado para acciones y desencadenadores de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryMaximumInterval 01:00:00
(1 hora)
Establece el intervalo máximo de reintentos para acciones y desencadenadores de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultRetryMinimumInterval 00:00:05
(5 segundos)
Establece el intervalo mínimo de reintentos para acciones y desencadenadores de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 hora)
Establece el intervalo de reactivación predeterminado para los trabajos de acción y el desencadenador de webhook HTTP.
Runtime.Backend.HttpWebhookOperation.MaxContentSize 104857600 bytes Establece el tamaño máximo de la solicitud en bytes solo para acciones de webhook HTTP, no para desencadenadores. Para más información, consulte las limitaciones.
Runtime.Backend.HttpWebhookOperation.RequestTimeout 00:02:00
(2 minutos)
Establece el valor de tiempo de espera de la solicitud para acciones y desencadenadores de webhook HTTP.

Operaciones de Azure Storage integradas

Blob Storage

Configuración Valor predeterminado Descripción
Microsoft.Azure.Workflows.ContentStorage.RequestOptionsThreadCount Ninguno Establece el número de subprocesos para las operaciones de carga y descarga de blobs. Puede usar esta configuración para forzar que el entorno de ejecución de Azure Logic Apps use varios subprocesos al cargar y descargar contenido de las entradas y salidas de acción.
Runtime.ContentStorage.RequestOptionsDeltaBackoff 00:00:02
(2 segundos)
Establece el intervalo de retroceso entre los reintentos enviados a Blob Storage.
Runtime.ContentStorage.RequestOptionsMaximumAttempts 4 reintentos Establece el número máximo de reintentos enviados a Table Storage y Queue Storage.
Runtime.ContentStorage.RequestOptionsMaximumExecutionTime 00:02:00
(2 minutos)
Establece el valor de tiempo de espera de la operación, incluidos los reintentos, para las solicitudes de blobs del entorno de ejecución de Azure Logic Apps.
Runtime.ContentStorage.RequestOptionsServerTimeout 00:00:30
(30 segundos)
Establece el valor de tiempo de espera para las solicitudes de blob del entorno de ejecución de Azure Logic Apps.

Table Storage y Queue Storage

Configuración Valor predeterminado Descripción
Runtime.DataStorage.RequestOptionsDeltaBackoff 00:00:02
(2 segundos)
Establece el intervalo de retroceso entre los reintentos enviados a Table Storage y Queue Storage.
Runtime.DataStorage.RequestOptionsMaximumAttempts 4 reintentos Establece el número máximo de reintentos enviados a Table Storage y Queue Storage.
Runtime.DataStorage.RequestOptionsMaximumExecutionTime 00:00:45
(45 segundos)
Establece el valor de tiempo de espera de la operación, incluidos los reintentos, para las solicitudes de Table Storage y Queue Storage del entorno de ejecución de Azure Logic Apps.
Runtime.DataStorage.RequestOptionsServerTimeout 00:00:16
(16 segundos)
Establece el valor de tiempo de espera para las solicitudes de Table Storage y Queue Storage del entorno de ejecución de Azure Logic Apps.

Recurso compartido de archivos

Configuración Valor predeterminado Descripción
ServiceProviders.AzureFile.MaxFileSizeInBytes 150000000 bytes Establece el tamaño máximo de archivo en bytes para un recurso compartido de archivos de Azure.

Operaciones de Azure Functions integradas

Configuración Valor predeterminado Descripción
Runtime.Backend.FunctionOperation.RequestTimeout 00:03:45
(3 minutos y 45 segundos)
Establece el valor de tiempo de espera de la solicitud para acciones de Azure Functions.
Runtime.Backend.FunctionOperation.MaxContentSize 104857600 bytes Establece el tamaño máximo de solicitud en bytes para acciones de Azure Functions. Para más información, consulte las limitaciones.
Runtime.Backend.FunctionOperation.DefaultRetryCount 4 reintentos Establece el número de reintentos predeterminado para acciones de Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryInterval 00:00:07
(7 segundos)
Establece el intervalo de reintentos predeterminado para acciones de Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryMaximumInterval 01:00:00
(1 hora)
Establece el intervalo máximo de reintentos para acciones de Azure Functions.
Runtime.Backend.FunctionOperation.DefaultRetryMinimumInterval 00:00:05
(5 segundos)
Establece el intervalo mínimo de reintentos para acciones de Azure Functions.

Operaciones de Azure Service Bus integradas

Configuración Valor predeterminado Descripción
ServiceProviders.ServiceBus.MessageSenderOperationTimeout 00:01:00
(1 min)
Establece el tiempo de espera para enviar mensajes con la operación de Service Bus integrada.
Runtime.ServiceProviders.ServiceBus.MessageSenderPoolSizePerProcessorCount 64 remitentes de mensajes Establece el número de remitentes de mensajes de Azure Service Bus por núcleo de procesador que se usarán en el grupo de remitentes de mensajes.

Operaciones SFTP integradas

Configuración Valor predeterminado Descripción
Runtime.ServiceProviders.Sftp.MaxFileSizeInBytes 2147483648 bytes Establece el tamaño máximo de archivo en bytes para la acción Obtener contenido del archivo (V2).
Runtime.ServiceProviders.Sftp.MaximumFileSizeToReadInBytes 209715200 bytes Establece el tamaño máximo de archivo en bytes para la acción Obtener contenido del archivo. Asegúrese de que este valor no supera el tamaño de la memoria al que se hace referencia porque esta acción lee el contenido del archivo en la memoria.

Operaciones de conectores administrados

Configuración Valor predeterminado Descripción
Runtime.Backend.ApiConnectionOperation.RequestTimeout 00:02:00
(2 minutos)
Establece el valor de tiempo de espera de la solicitud para los desencadenadores y las acciones del conector de API administradas.
Runtime.Backend.ApiConnectionOperation.MaxContentSize 104857600 bytes Establece el tamaño máximo de solicitud en bytes para los desencadenadores y las acciones del conector de API administradas. Para más información, consulte las limitaciones.
Runtime.Backend.ApiConnectionOperation.DefaultRetryCount 4 reintentos Establece el recuento de reintentos predeterminado para los desencadenadores y las acciones del conector de API administradas.
Runtime.Backend.ApiConnectionOperation.DefaultRetryInterval 00:00:07
(7 segundos)
Establece el intervalo de reintentos predeterminado para los desencadenadores y las acciones del conector de API administradas.
Runtime.Backend.ApiWebhookOperation.DefaultRetryMaximumInterval 01:00:00
(1 día)
Establece el intervalo máximo de reintentos para los desencadenadores y las acciones del conector de API administradas.
Runtime.Backend.ApiConnectionOperation.DefaultRetryMinimumInterval 00:00:05
(5 segundos)
Establece el intervalo mínimo de reintentos para los desencadenadores y las acciones del conector de API administradas.
Runtime.Backend.ApiWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 día)
Establece el intervalo de reactivación predeterminado para los trabajos de acción y el desencadenador de webhook del conector de API administradas.

Directiva de reintentos para todas las demás operaciones

Configuración Valor predeterminado Descripción
Runtime.ScaleMonitor.MaxPollingLatency 00:00:30
(30 segundos)
Establece la latencia máxima de sondeo para el escalado en tiempo de ejecución.
Runtime.Backend.Operation.MaximumRetryCount 90 reintentos Establece el número máximo de reintentos en la definición de directiva de reintentos para una operación de flujo de trabajo.
Runtime.Backend.Operation.MaximumRetryInterval 01:00:00:01
(1 día y 1 segundo)
Establece el intervalo máximo en la definición de directiva de reintentos para una operación de flujo de trabajo.
Runtime.Backend.Operation.MinimumRetryInterval 00:00:05
(5 segundos)
Establece el intervalo mínimo en la definición de directiva de reintentos para una operación de flujo de trabajo.

Limitaciones

Administración de la configuración de host: host.json

Puede agregar, actualizar o eliminar la configuración de host, que especifica los valores y la configuración del entorno de ejecución que se aplican a todos los flujos de trabajo de esa aplicación lógica, por ejemplo, los valores predeterminados para el rendimiento, la capacidad, el tamaño de los datos, entre otros, tanto si se ejecutan localmente como en Azure. Para la configuración de host específica de las aplicaciones lógicas, revise la guía de referencia de la configuración de implementación y de entorno de ejecución disponible: host.json.

Azure Portal: host.json

Para revisar la configuración de host de la aplicación lógica basada en inquilino único en Azure Portal, siga estos pasos:

  1. En el cuadro de búsqueda de Azure Portal, busque y abra la aplicación lógica.

  2. En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas.

  3. En la página Herramientas avanzadas, seleccione Ir, que abre el entorno de Kudu para la aplicación lógica.

  4. En la barra de herramientas de Kudu, abra el menú Consola de depuración y seleccione CMD.

  5. Detenga la aplicación lógica en Azure Portal.

    1. En el menú de la aplicación lógica, seleccione Introducción.

    2. En la barra de herramientas del panel Información general, seleccione Detener.

  6. En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas.

  7. En el panel Herramientas avanzadas, seleccione Ir, que abre el entorno de Kudu para la aplicación lógica.

  8. En la barra de herramientas de Kudu, abra el menú Consola de depuración y seleccione CMD.

    Se abre una ventana de consola, por lo que puede desplazarse a la carpeta wwwroot mediante el símbolo del sistema. O bien, puede examinar la estructura de directorios que aparece encima de la ventana de la consola.

  9. Examine la siguiente ruta de acceso a la carpeta wwwroot: ...\home\site\wwwroot.

  10. Encima de la ventana de la consola, en la tabla de directorios, junto al archivo host.json, seleccione Editar.

  11. Una vez abierto el archivo host.json, revise los valores de configuración de host que se hayan agregado anteriormente para la aplicación lógica.

    Para obtener más información sobre la configuración de host, revise la guía de referencia de la configuración de host disponible: host.json.

Para agregar una configuración, siga estos pasos:

  1. Antes de agregar o editar la configuración, detenga la aplicación lógica en Azure Portal.

    1. En el menú de la aplicación lógica, seleccione Introducción.
    2. En la barra de herramientas del panel Información general, seleccione Detener.
  2. Vuelva al archivo host.json. En el objeto extensionBundle, agregue el objeto extensions, que incluye los objetos workflow y settings, por ejemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  3. En el objeto settings, agregue una lista plana con la configuración de host que desea usar para todos los flujos de trabajo de la aplicación lógica, tanto si esos flujos de trabajo se ejecutan localmente como en Azure, por ejemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
                "Runtime.Trigger.MaximumWaitingRuns": "100"
             }
          }
       }
    }
    
  4. Cuando haya terminado, recuerde seleccionar la opción Guardar.

  5. Ahora, reinicie la aplicación lógica. Vuelva a la página Información general de la aplicación lógica y seleccione Reiniciar.

Visual Studio Code: host.json

Para revisar la configuración de host de la aplicación lógica en Visual Studio Code, siga estos pasos:

  1. En el proyecto de aplicación lógica, en el nivel de raíz del proyecto, busque y abra el archivo host.json.

  2. En el objeto extensions, en workflows y settings, revise los valores de configuración de host que se hayan agregado anteriormente para la aplicación lógica. De lo contrario, el objeto extensions no aparecerá en el archivo.

    Para obtener más información sobre la configuración de host, revise la guía de referencia de la configuración de host disponible: host.json.

Para agregar una configuración de host, siga estos pasos:

  1. En el archivo host.json, en el objeto extensionBundle, agregue el objeto extensions, que incluye los objetos workflow y settings, por ejemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  2. En el objeto settings, agregue una lista plana con la configuración de host que desea usar para todos los flujos de trabajo de la aplicación lógica, tanto si esos flujos de trabajo se ejecutan localmente como en Azure, por ejemplo:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
                "Runtime.Trigger.MaximumWaitingRuns": "100"
             }
          }
       }
    }
    

Pasos siguientes