Creación de acciones switch que ejecuten las acciones de los flujos de trabajo en función de valores específicos en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo)

Para ejecutar acciones específicas en función de los valores de objetos, expresiones o tokens, agregue una acción switch. En esta estructura se evalúa el objeto, la expresión o el token, se elige el caso que coincida con el resultado y se ejecutan acciones específicas para ese caso. Cuando se ejecuta la acción switch, solo un caso debe coincidir con el resultado.

Por ejemplo, imagine que desea una aplicación lógica que lleve a cabo pasos diferentes en función de una opción seleccionada en el correo electrónico. En este ejemplo, la aplicación lógica comprueba la fuente RSS de un sitio web para ver si hay nuevo contenido. Cuando aparece un elemento nuevo en la fuente RSS, la aplicación lógica envía un correo electrónico a un aprobador. Dependiendo de si el aprobador selecciona "Aprobar" o "Rechazar", la aplicación lógica sigue pasos diferentes.

Sugerencia

Al igual que todos los lenguajes de programación, las acciones switch solo admiten los operadores de igualdad. Utilice una acción de condición si necesita otros operadores relacionales, como "mayor que". Para garantizar el comportamiento de ejecución determinístico, los casos tienen que contener un valor único y estático en lugar de expresiones o tokens dinámicos.

Prerrequisitos

  • Suscripción a Azure. Si aún no tiene una, regístrese para obtener una cuenta de Azure gratuita.

  • Para seguir el ejemplo de este artículo, cree un ejemplo de flujo de trabajo de aplicación lógica de Consumo con una cuenta de Outlook.com o una cuenta profesional o educativa.

    1. Al agregar la acción para enviar correo electrónico, encuentre y seleccione esta acción en su lugar: Enviar un correo electrónico de aprobación

      Select

    2. Proporcione los campos necesarios, como la dirección de correo electrónico de la persona que recibe el correo electrónico de aprobación. En Opciones de usuario, escriba "Aprobar, Rechazar".

      Enter email details

Agregar una acción switch

  1. En este ejemplo, agregue una acción switch al final del flujo de trabajo de ejemplo. Después del último paso, elija Nuevo paso.

    Si desea agregar una acción switch entre los pasos, mueva el puntero sobre la flecha donde desea agregar la acción switch. Elija el signo más ( + ) que aparece y, luego, elija Agregar una acción.

  2. En el cuadro de búsqueda, escriba "switch" como filtro. Seleccione esta acción: Switch - Control

    Add switch

    Aparece una acción switch con un caso y un caso predeterminado. De forma predeterminada una acción switch requiere al menos un caso además del caso predeterminado.

    Empty default switch action

  3. Haga clic en el cuadro En para que aparezca la lista de contenido dinámico. En la lista seleccione el campo SelectedOption cuyo resultado determina la acción que se va a realizar.

    Select

  4. Para controlar los casos donde el aprobador selecciona Approve o Reject, agregue otro caso entre Caso y Predeterminado.

    Add another case

  5. Agregue estas acciones a los casos correspondientes:

    Case nº SelectedOption Acción
    Caso 1 Aprobar Agregar la acción de Outlook Enviar un correo electrónico para enviar detalles sobre el elemento RSS únicamente cuando el aprobador ha seleccionado Aprobar.
    Caso 2 Rechazar Agregar la acción de Outlook Enviar un correo electrónico para notificar a otros aprobadores que el elemento RSS se ha rechazado.
    Valor predeterminado None No es necesaria ninguna acción. En este ejemplo, el caso Predeterminado está vacío porque SelectedOption solo tiene dos opciones.

    Finished switch action

  6. Guarde la aplicación lógica.

    Para probar manualmente este ejemplo, elija Ejecutar hasta que la aplicación lógica encuentra un nuevo elemento RSS y envía un correo electrónico de aprobación. Seleccione Aprobar para observar los resultados.

Definición JSON

Ahora que ha creado una aplicación lógica mediante una acción switch, echemos un vistazo a la definición de código de alto nivel detrás de la acción switch.

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
           "Send_an_email": {}
         },
         "case" : "Approve"
      },
      "Case_2": {
         "actions": {
           "Send_an_email_2": {}
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": {}
   },
   "runAfter": {
      "Send_approval_email": [
         "Succeeded"
      ]
   }
}
Etiqueta Descripción
"Switch" El nombre de la acción switch, que puede cambiar para mejorar la legibilidad
"type": "Switch" Especifica que la acción es una acción switch
"expression" En este ejemplo, especifica la opción seleccionada del aprobador que se evalúa con respecto a cada caso declarado más adelante en la definición
"cases" Define cualquier número de casos. Para cada caso, "Case_*" es el nombre predeterminado del caso que puede cambiar para mejorar la legibilidad
"case" Especifica el valor del caso, que tiene que ser un valor único y constante que la acción switch usa para comparar. Si no hay casos que coincidan con el resultado de la instrucción switch, se ejecutan las acciones de la sección "default".

Obtención de soporte técnico

Pasos siguientes