¿Cómo puedo reenviar 3800 ejecuciones de una logic app de manera masiva?

Cristian Daniel López Bedoya 20 Puntos de reputación
2025-03-20T15:00:57.0233333+00:00

Tengo una logic app por consumo, de la cual necesito reenviar de manera masiva aproximadamente 3800 ejecuciones que están entre el 11/03/2025 y el 18/03/2025. ¿Cómo puedo realizar ese reenvío masivo?

Preguntas y respuestas (Q&A) de Microsoft
Preguntas y respuestas (Q&A) de Microsoft
Use esta etiqueta para compartir sugerencias, solicitudes de características y errores con el equipo de Microsoft Q&A. El equipo de Microsoft Q&A evaluará sus comentarios periódicamente y proporcionará actualizaciones a lo largo del proceso.
565 preguntas
0 comentarios No hay comentarios
{count} votos

Respuesta aceptada
  1. Gao Chen 10,405 Puntos de reputación Personal externo de Microsoft
    2025-04-02T21:39:23.08+00:00

    Hola de nuevo Cristian Daniel López Bedoya,

    Siento la demora en la respuesta, te voy a proporcionar un ejemplo de cómo configurar la acción HTTP en la Logic App. Además, te explicaré cómo obtener la llave de autenticación que debes utilizar en el header.

    Script para la acción HTTP en la Logic App

    Aquí tienes un ejemplo de cómo configurar la acción HTTP para reenviar la ejecución:

    - Action: HTTP
      - Method: POST
      - URL: @{items('Apply_to_each')?['executionLink']}
      - Headers:
          Authorization: Bearer @{variables('accessToken')}
      - Body: {}
    

    Pasos para obtener la llave de autenticación (Access Token)

    Para obtener la llave de autenticación que debes utilizar en el header, puedes seguir estos pasos:

    1. Registra una aplicación en Azure AD:
      • Ve al portal de Azure.
        • Navega a "Azure Active Directory" > "App registrations".
          • Registra una nueva aplicación y toma nota del Application (client) ID y el Directory (tenant) ID.
    2. Crea un secreto de cliente:
      • En la sección de "Certificates & secrets" de la aplicación registrada, crea un nuevo secreto de cliente.
        • Toma nota del valor del secreto de cliente, ya que lo necesitarás para obtener el token de acceso.
    3. Obten el token de acceso:
      • Utiliza una solicitud HTTP para obtener el token de acceso. Puedes hacer esto en la Logic App utilizando una acción HTTP o en un script separado. Aquí tienes un ejemplo de cómo hacerlo en la Logic App:
    - Action: HTTP
      - Method: POST
      - URL: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
      - Headers:
          Content-Type: application/x-www-form-urlencoded
      - Body:
          grant_type: client_credentials
          client_id: {client_id}
          client_secret: {client_secret}
          scope: https://management.azure.com/.default
    
    1. Guardar el token de acceso:
      • Utiliza una acción Set variable para guardar el token de acceso obtenido en una variable llamada accessToken.

    Ejemplo completo de la Logic App

    Aquí tienes un ejemplo completo de cómo configurar la Logic App para obtener el token de acceso y reenviar las ejecuciones:

    - Trigger: Recurrence
      - Frequency: Daily
      - Interval: 1
    
    - Action: HTTP (Obtener token de acceso)
      - Method: POST
      - URL: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
      - Headers:
          Content-Type: application/x-www-form-urlencoded
      - Body:
          grant_type: client_credentials
          client_id: {client_id}
          client_secret: {client_secret}
          scope: https://management.azure.com/.default
    
    - Action: Set variable
      - Name: accessToken
      - Value: @{body('HTTP')?['access_token']}
    
    - Action: List Rows (Dataverse)
      - Table Name: [Nombre de tu tabla]
      - Filter: [Fecha >= '2025-03-11' AND Fecha <= '2025-03-18']
    
    - Action: Apply to each (Output from List Rows)
      - Action: HTTP
        - Method: POST
        - URL: @{items('Apply_to_each')?['executionLink']}
        - Headers:
            Authorization: Bearer @{variables('accessToken')}
        - Body: {}
    

    Consideraciones adicionales

    • Asegúrate de manejar los secretos de cliente y tokens de acceso de manera segura.
    • Configura la lógica de manejo de errores y reintentos para asegurar que las ejecuciones se reenvíen correctamente.
    • Puedes utilizar las capacidades de monitoreo de Azure para verificar el estado de las ejecuciones y solucionar cualquier problema que pueda surgir.

    Me avisas si necesitas ayuda con algún detalle específico o necesitas más información sobre algún paso en particular.

    Saludos,

    Gao

    1 persona ha encontrado útil esta respuesta.

2 respuestas adicionales

Ordenar por: Muy útil
  1. Gao Chen 10,405 Puntos de reputación Personal externo de Microsoft
    2025-03-20T21:42:59.8433333+00:00

    Hola Cristian Daniel López Bedoya,

    ¡Bienvenido a Microsoft Q&A!

    Para reenviar masivamente las ejecuciones de una Logic App por consumo, puedes seguir estos pasos:

    1. Filtra las ejecuciones por fecha:

    • Accede al historial de ejecuciones de tu Logic App en el portal de Azure.
    • Filtra las ejecuciones entre el 11/03/2025 y el 18/03/2025.

    2. Exporta el historial de ejecuciones:

    • Descarga el historial de ejecuciones en formato JSON o CSV.

    3. Crea una nueva Logic App para reenvío:

    • Diseña una nueva Logic App que tome las ejecuciones exportadas y las reenvíe.
    • Utiliza un desencadenador de periodicidad para programar el reenvío de las ejecuciones.

    4. Automatiza el proceso:

    • Configura la nueva Logic App para que procese las ejecuciones en lotes y las reenvíe automáticamente.

    Si necesitas más detalles sobre cómo configurar cada paso, me avisas, quedo a la espera de tu respuesta.

    Atentamente,

    Gao


    Si esta respuesta resolvió tu consulta, por favor haz clic en 'Aceptar respuesta'. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.


  2. Gao Chen 10,405 Puntos de reputación Personal externo de Microsoft
    2025-03-25T15:31:38.27+00:00

    Hola de nuevo Cristian Daniel López Bedoya,

    Lo siento mucho por la demora en darte una respuesta, en este caso, Para reenviar masivamente las ejecuciones de una Logic App en Azure, puedes seguir estos pasos utilizando una nueva Logic App que recorra la tabla de Dataverse y obtenga los enlaces de cada ejecución. Aquí te dejo una guía detallada para crear esta Logic App:

    1. Crea la Logic App:
      • Abre el portal de Azure.
        • Crea una nueva Logic App y selecciona el tipo de Logic App por consumo.
    2. Agrega un disparador:
      • Utiliza el disparador que mejor se adapte a tu necesidad, por ejemplo, un disparador recurrente (Recurrence) para ejecutar la Logic App en intervalos específicos.
    3. Conecta con Dataverse:
      • Agrega una acción para obtener los registros de la tabla de Dataverse donde tienes guardadas las ejecuciones.
        • Utiliza la acción List Rows de Dataverse para obtener los registros entre las fechas específicas (11/03/2025 y 18/03/2025).
    4. Filtra los registros:
      • Si es necesario, agrega una acción para filtrar los registros obtenidos por fecha utilizando la acción Filter Array.
    5. Recorre los registros:
      • Agrega una acción Apply to each para recorrer cada registro obtenido.
        • Dentro de esta acción, agrega una acción para obtener el enlace de cada ejecución desde el registro de Dataverse.
    6. Reenvia las ejecuciones:
      • Agrega una acción HTTP para reenviar cada ejecución utilizando el enlace obtenido.
        • Configura la acción HTTP con el método adecuado (POST, GET, etc.) y el cuerpo de la solicitud según sea necesario para reenviar la ejecución.

    Aqui tienes un ejemplo de una configuración de la Logic App

    - Trigger: Recurrence
      - Frequency: Daily
      - Interval: 1
    
    - Action: List Rows (Dataverse)
      - Table Name: [Nombre de tu tabla]
      - Filter: [Fecha >= '2025-03-11' AND Fecha <= '2025-03-18']
    
    - Action: Apply to each (Output from List Rows)
      - Action: HTTP
        - Method: POST
        - URL: [Enlace de la ejecución]
        - Headers: [Configuración de encabezados]
        - Body: [Configuración del cuerpo de la solicitud]
    

    Adicionalmente, yo te recomendaría asegúrate de configurar la autenticación adecuada para las acciones HTTP si es necesario. Tambien, configura la lógica de manejo de errores y reintentos para asegurar que las ejecuciones se reenvíen correctamente.

    Otra cosa que te recomendaría seria utilizar las capacidades de monitoreo de Azure para verificar el estado de las ejecuciones y solucionar cualquier problema que pueda surgir.

    Me avisas si te gustaría que te ayude a crear un script específico para alguna de estas acciones o si necesitas más detalles sobre algún paso en particular.

    Saludos,

    Gao


Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.