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:
- Creación de parámetros para los valores que cambian en los flujos de trabajo entre entornos de Azure Logic Apps de inquilino único
- Introducción a la implementación de DevOps para aplicaciones lógicas basadas en inquilino único
- Configuración de la implementación de DevOps para aplicaciones lógicas basadas en inquilino único
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 |
Sí | 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 |
Sí | None | Contiene la cadena de conexión de una cuenta de Azure Storage. Para obtener más información, consulte AzureWebJobsStorage. |
FUNCTINONS_EXTENSION_VERSION |
Sí | ~4 |
Necesario para establecer la versión de Azure Functions. Para obtener más información, consulte FUNCTIONS_EXTENSION_VERSION. |
FUNCTIONS_WORKER_RUNTIME |
Sí | 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 |
Sí | 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
En el cuadro de búsqueda de Azure Portal, busque y abra la aplicación lógica.
En el menú de la aplicación lógica, en Configuración, seleccione Variables de entorno.
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.
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
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 |
100000 elementos 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 |
100000 elementos 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 |
100000 elementos 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
Tamaño máximo de contenido
De manera predeterminada, los desencadenadores integrados, como HTTP o Solicitud, se limitan al tamaño del mensaje descrito en Limits and configuration reference - Messages (Referencia de configuración y límites: mensajes). Para manipular archivos mayores que el límite, pruebe a cargar el contenido como un blob en Azure Blob Storage y, a continuación, obtenga el contenido mediante el conector de Azure Blob.
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:
En el cuadro de búsqueda de Azure Portal, busque y abra la aplicación lógica.
En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas.
En la página Herramientas avanzadas, seleccione Ir, que abre el entorno de Kudu para la aplicación lógica.
En la barra de herramientas de Kudu, abra el menú Consola de depuración y seleccione CMD.
Detenga la aplicación lógica en Azure Portal.
En el menú de la aplicación lógica, seleccione Introducción.
En la barra de herramientas del panel Información general, seleccione Detener.
En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas.
En el panel Herramientas avanzadas, seleccione Ir, que abre el entorno de Kudu para la aplicación lógica.
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.
Examine la siguiente ruta de acceso a la carpeta wwwroot:
...\home\site\wwwroot
.Encima de la ventana de la consola, en la tabla de directorios, junto al archivo host.json, seleccione Editar.
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:
Antes de agregar o editar la configuración, detenga la aplicación lógica en Azure Portal.
- En el menú de la aplicación lógica, seleccione Introducción.
- En la barra de herramientas del panel Información general, seleccione Detener.
Vuelva al archivo host.json. En el objeto
extensionBundle
, agregue el objetoextensions
, que incluye los objetosworkflow
ysettings
, por ejemplo:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { } } } }
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" } } } }
Cuando haya terminado, recuerde seleccionar la opción Guardar.
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:
En el proyecto de aplicación lógica, en el nivel de raíz del proyecto, busque y abra el archivo host.json.
En el objeto
extensions
, enworkflows
ysettings
, revise los valores de configuración de host que se hayan agregado anteriormente para la aplicación lógica. De lo contrario, el objetoextensions
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:
En el archivo host.json, en el objeto
extensionBundle
, agregue el objetoextensions
, que incluye los objetosworkflow
ysettings
, por ejemplo:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { } } } }
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" } } } }