Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Se aplica a: Azure Logic Apps (consumo + estándar)
Para almacenar y pasar valores en tu flujo de trabajo, crea variables. Las variables soportan valores enteros, float, booleanos, cadena, array y objetos.
Por ejemplo, las variables pueden ayudarle a hacer un seguimiento del número de veces que se ejecuta un bucle. Para iterar sobre un array o comprobar un elemento específico en un array, utiliza una variable para referenciar el número de índice de cada elemento del array.
Después de crear una variable, elige una tarea:
- Crear una variable
- Obtén el valor de una variable
- Incrementar una variable
- Decrementar una variable
- Cambiar el valor de una variable
- Anexar a una variable de cadena o matriz
- Ejemplo: Contar los archivos adjuntos de correo electrónico con un bucle
Requisitos previos
Una cuenta y una suscripción de Azure. Obtenga una cuenta gratuita de Azure.
El flujo de trabajo de la app lógica donde quieres crear la variable, incluyendo un disparador que inicie el flujo de trabajo.
Antes de poder añadir acciones para crear y trabajar con variables, tu flujo de trabajo debe comenzar con un disparador como primer paso.
Esta guía utiliza el portal de Azure, pero puedes usar Visual Studio Code y la correspondiente extensión Azure Logic Apps para crear flujos de trabajo de Logic App:
- Flujos de trabajo de Consumo: Visual Studio Code
- Flujos de trabajo estándar: Visual Studio Code
Consideraciones para trabajar con variables
Por defecto, para cada bucle las iteraciones se ejecutan en paralelo. Para asegurarte de que las variables en un bucle produzcan resultados predecibles, ejecuta el bucle de forma secuencial.
Las variables existen y son globales solo dentro del flujo de trabajo que las crea.
Las variables persisten a través de iteraciones de bucles solo dentro de ese flujo de trabajo.
Referencia una variable por su nombre, no por el nombre de la acción que creó la variable, que es la forma habitual de referenciar las salidas de una acción.
Inicializar la variable
Para crear una variable, añade la acción Inicializar variable a tu flujo de trabajo. Solo puedes declarar variables a nivel global del flujo de trabajo, no en ámbitos, condiciones y bucles.
En Azure Portal abra el flujo de trabajo de la aplicación lógica en el diseñador.
En el diseñador, añade la variable de acción llamada Inicializar siguiendo los pasos generales según el tipo de flujo de trabajo:
Especifique la siguiente información acerca de la variable:
Propiedad Obligatorio Valor Descripción Nombre Sí < nombre de variable> El nombre de la variable. Tipo Sí < tipo variable> Tipo de datos de la variable. Valor No < valor-inicial> El valor inicial de tu variable.
Sugerencia: aunque es opcional, establezca este valor como procedimiento recomendado para que sepa siempre el valor inicial de la variable.Para crear más de una variable a la vez, seleccione Agregar una variable.
Por ejemplo, esta acción Inicializar variable contiene el nombre de la variable, el tipo de dato y el valor inicial:
Continúe agregando las acciones que desee para su escenario. Cuando esté listo, seleccione Guardar en la barra de herramientas del diseñador.
Si cambias de la vista de diseñador a la vista de código, el siguiente ejemplo muestra cómo aparece la acción de la variable Inicializar en la definición de tu flujo de trabajo, que está en formato JavaScript Object Notation (JSON):
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Count",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
}
}
En los ejemplos siguientes se muestran otros tipos de variables:
Variable booleana
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myBooleanVariable",
"type": "boolean",
"value": false
}
]
},
"runAfter": {}
}
},
Variable Float
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myFloatVariable",
"type": "float",
"value": 1.99999
}
]
},
"runAfter": {}
}
},
Variable de cadena
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myStringVariable",
"type": "string",
"value": "lorem ipsum"
}
]
},
"runAfter": {}
}
},
Variable de objeto
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "MyObjectVariable",
"type": "object",
"value": {
"ProductItem": {
"Name": "myProductName",
"ProductID": "000000"
}
}
}
]
},
"runAfter": {}
}
},
Matriz con enteros
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": [1, 2, 3]
}
]
},
"runAfter": {}
}
},
Matriz con cadenas
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": ["red", "orange", "yellow"]
}
]
},
"runAfter": {}
}
},
Obtener el valor de una variable
Para recuperar o referenciar el contenido de una variable, utiliza la variables() función en el diseñador de flujo de trabajo y el editor de vista de código. Cuando se hace referencia a una variable, debe usar el nombre de la variable como token, y no el nombre de la acción; este último se usa de forma habitual para hacer referencia a los resultados de la acción.
Por ejemplo, la expresión siguiente obtiene los elementos de la variable de matriz que se crea en esta guía mediante la función variables(). La función string() devuelve el contenido de la variable en formato de cadena: "1, 2, 3, red".
@{string(variables('myArrayVariable'))}
Incrementar variable
Para aumentar o incrementar una variable con un valor constante específico, agregue la acción Incrementar variable al flujo de trabajo. Esta acción solo funciona con las variables de enteros y flotantes.
En el diseñador, agrega la acción llamada Incrementar variable siguiendo los pasos generales en función del tipo de flujo de trabajo:
A continuación, proporcione la siguiente información para esta acción:
Propiedad Obligatorio Valor Descripción Nombre Sí < nombre de variable> El nombre de la variable que se va a incrementar. Valor No < valor de incremento> El valor a usar para incrementar la variable. El valor predeterminado es 1.
Sugerencia: aunque es opcional, establezca este valor como procedimiento recomendado para que sepa siempre el valor específico para incrementar la variable.En el ejemplo siguiente se muestran los valores de ejemplo de esta acción:
Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Si cambia del diseñador a la vista de código, el siguiente ejemplo muestra cómo aparece la acción Incrementar variable en la definición del flujo de trabajo, que está en formato JSON:
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Ejemplo: Contar los archivos adjuntos de correo electrónico con un bucle
En este ejemplo, inicializas un contador en cero, incrementas el contador una vez por cada archivo adjunto y devuelves el conteo total de archivos adjuntos.
En Azure Portal, cree el recurso de aplicación lógica con un flujo de trabajo en blanco. Agregue un desencadenador que compruebe si hay correos electrónicos y datos adjuntos nuevos.
Este ejemplo utiliza el disparador Office 365 Outlook llamado Cuando llega un nuevo correo electrónico. Configura este disparador para que solo se active cuando el correo tenga archivos adjuntos. Sin embargo, puede usar cualquier conector que compruebe si hay correos electrónicos con datos adjuntos nuevos; por ejemplo, el conector de Outlook.com.
En el disparador, selecciona Sí para las siguientes propiedades y así comprobar si hay archivos adjuntos y pasarlos a tu flujo de trabajo:
- Solo con datos adjuntos
- Include Attachments (Incluir datos adjuntos)
Suma la acción Inicializar variable para crear una variable entera llamada Count que comienza en 0.
En el diseñador, añade la acción con el nombre Para cada siguiendo los pasos generales en función del tipo de flujo de trabajo:
En el ciclo, sigue estos pasos:
- Selecciona dentro del cuadro llamado Seleccione una salida de pasos anteriores para ver las opciones de entrada.
- Seleccione el icono de rayo para ver la lista de contenido dinámico.
- En la lista, en Cuando llegue un nuevo correo electrónico, seleccione Datos adjuntos.
La propiedad Attachments pasa una matriz que contiene los datos adjuntos de correo electrónico de la salida del desencadenador hacia el bucle, para que el flujo de trabajo pueda recorrerse en iteración.
En el bucle Para cada uno, seleccione Agregar una acción.
En el diseñador, agrega la acción llamada Increment variable siguiendo los pasos generales correspondientes a tu tipo de flujo de trabajo:
Nota:
Asegúrese de que la acción Incrementar variable aparezca dentro del bucle. Si la acción aparece fuera del bucle, arrástrela al mismo.
En la acción Incrementar variable de la lista Nombre, seleccione la variable Recuento. Establezca la propiedad Valor en 1.
En el bucle, agregue cualquier acción que le envíe la cantidad de datos adjuntos. En la acción, incluya el valor de la variable Recuento como, por ejemplo:
Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Pruebe el flujo de trabajo
Para desencadenar manualmente el flujo de trabajo, en la barra de herramientas del diseñador, seleccione Ejecutar>Ejecutar para ejecutar manualmente el flujo de trabajo.
Envíe un correo electrónico con uno o varios datos adjuntos a la cuenta de correo electrónico que usó en este ejemplo.
Este paso activa el desencadenador de flujo de trabajo, que crea y ejecuta una instancia de flujo de trabajo. Como resultado, el flujo de trabajo envía un mensaje o un correo electrónico que muestra el número de datos adjuntos del correo electrónico que envió.
Si cambia del diseñador a la vista de código, el siguiente ejemplo muestra cómo aparece el bucle For each junto con la acción Incrementar variable en la definición del flujo de trabajo, que está en formato JSON:
"actions": {
"For_each": {
"type": "Foreach",
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
"foreach": "@triggerBody()?['Attachments']",
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Reducir variable
Para disminuir o reducir una variable con un valor constante específico, siga los pasos para incrementar una variable, excepto si en su lugar agrega la acción Reducir variable a su flujo de trabajo. Esta acción solo funciona con las variables de enteros y flotantes.
En la tabla siguiente se describe la información de la acción Reducir variable:
| Propiedad | Obligatorio | Valor | Descripción |
|---|---|---|---|
| Nombre | Sí | < nombre de variable> | El nombre de la variable que se va a reducir |
| Valor | No | < valor de decremento> | El valor para reducir la variable. El valor predeterminado es uno. Sugerencia: aunque es opcional, establezca este valor como procedimiento recomendado para que sepa siempre el valor específico para reducir la variable. |
Si cambia del diseñador a la vista de código, el siguiente ejemplo muestra cómo aparece la acción Reducir variable en la definición del flujo de trabajo, que está en formato JSON:
"actions": {
"Decrement_variable": {
"type": "DecrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Establecer la variable
Para asignar un valor diferente a una variable existente, siga los pasos para incrementar una variable; tendrá que realizar lo siguiente:
Buscar y seleccionar la acción Establecer variable.
A continuación, proporcione la siguiente información para esta acción:
Propiedad Obligatorio Valor Descripción Nombre Sí < nombre de variable> El nombre de la variable que se va a cambiar. Valor Sí < Nuevo valor> El valor al que quiere asignar la variable. Asegúrate de que tanto la variable como el nuevo valor tengan el mismo tipo de datos. El valor es necesario porque esta acción no tiene un valor predeterminado. Nota:
A menos que esté incrementando o reduciendo variables, el cambio de variables dentro de los bucles podría crear resultados inesperados, porque los bucles se ejecutan en paralelo o de forma simultánea, de manera predeterminada. Para estos casos, intente configurar el bucle para que se ejecute secuencialmente. Por ejemplo, cuando quiera hacer referencia al valor de la variable dentro del bucle y esperar el mismo valor al inicio y al final de esa instancia de bucle, siga estos pasos para cambiar la forma en que se ejecuta el bucle:
Seleccione el bucle para ver el panel de información y, luego, seleccione Configuración.
En la sección General, en Control de simultaneidad, cambie la configuración de Desactivado a Activado.
Arrastre el control deslizante Grado de paralelismo a 1.
Si cambias de la vista de diseñador a la vista de código, el siguiente ejemplo muestra cómo aparece la acción de la variable Set en la definición de tu flujo de trabajo, que está en formato JSON, y cambia el Count valor actual de la variable por otro valor:
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [ {
"name": "Count",
"type": "Integer",
"value": 0
} ]
},
"runAfter": {}
},
"Set_variable": {
"type": "SetVariable",
"inputs": {
"name": "Count",
"value": 100
},
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Anexar a la variable
En cuanto a las variables que almacenan cadenas o matrices, puede insertar o anexar el valor de una variable como el último elemento de esas matrices o cadenas. Sigue los pasos para incrementar una variable con las siguientes excepciones:
Busque y seleccione una de estas acciones en función de si la variable es una cadena o una matriz:
- Anexar a la variable de cadena
- Anexar a la variable de matriz
Proporcione el valor que se anexa como el último elemento de la cadena o matriz.
Propiedad Obligatorio Valor Descripción Nombre Sí < nombre de variable> El nombre de la variable que se va a cambiar. Valor Sí < añadir-valor> El valor que quieres añadir, que puede tener cualquier tipo.
Si cambia del diseñador a la vista de código, el siguiente ejemplo muestra cómo aparece la acción Anexar a la variable de matriz en la definición del flujo de trabajo, que está en formato JSON.
En el siguiente ejemplo se crea una variable de matriz y se agrega otro valor como el último elemento de la matriz. El resultado es una variable actualizada que contiene esta matriz: [1,2,3,"red"].
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [ {
"name": "myArrayVariable",
"type": "Array",
"value": [1, 2, 3]
} ]
},
"runAfter": {}
},
"Append_to_array_variable": {
"type": "AppendToArrayVariable",
"inputs": {
"name": "myArrayVariable",
"value": "red"
},
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},