Procedimientos recomendados al actualizar un flujo usado por una aplicación power

En este artículo se describen los procedimientos recomendados y los pasos para mitigar errores comunes al ejecutar flujos de Microsoft en Power Apps.

Se aplica a: Power Apps
Número de KB original: 4477072

Código de error "InvokerConnectionOverrideFailed" en la ejecución de Flow

Algunos flujos no se pueden ejecutar en Power Apps. En el historial de ejecución de Flow o en la telemetría de Power Apps, es posible que reciba un error similar al siguiente:

    { 
        "code": "InvokerConnectionOverrideFailed", 
        "message": "Failed to parse invoker connections from trigger 'manual' outputs. Exception: Could not find any valid connection for connection reference name '<some_connection>' in APIM tokens header." 
    }

Nota:

Este error también se produce cuando se llama a la install API en Common Data Service (CDS), pero la respuesta es un error genérico "Error de flujo de instalación".

Causa

Este problema se produce porque el flujo se ha actualizado para usar una nueva conexión, pero la aplicación sigue usando los metadatos de flujo antiguos. La actualización del flujo no actualiza las aplicaciones que usan el flujo. Para solucionar este problema, debe actualizar manualmente la aplicación para que los cambios se reflejen en la aplicación y para que el flujo funcione.

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

  1. Abra la aplicación para editarla con la versión más reciente de Power Apps Studio.
  2. Quite los flujos de la aplicación (quite los flujos de la pestaña Power Automate).
  3. Vuelva a agregar los flujos a la aplicación.
  4. Guarde y vuelva a publicar la aplicación.

Código de error "ConnectionAuthorizationFailed" en la ejecución de Flow

    { 
        "code": "ConnectionAuthorizationFailed", 
        "message": "The caller with object id '{user_id}' does not have the minimum required permission to perform the requested operation on connection '{some_connection_id}' under API '{some_connection_api}'." 
    }

Causa

Este error significa que, aunque el creador tiene permisos para el flujo, el creador no tiene permisos para las conexiones dependientes que se usan en las acciones de flujo. Esta es una limitación de la integración de Power Apps y Flow.

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

Esta mitigación consiste en que todas las conexiones del flujo sean propiedad de un único usuario y, a continuación, que ese usuario agregue el flujo a la aplicación.

Código de error "WorkflowTriggerIsNotEnabled" en la ejecución de Flow

    { 
        "code": "WorkflowTriggerIsNotEnabled", 
        "message": "Could not execute workflow '<GUID>' trigger 'manual' with state 'Disabled': trigger is not enabled."  
    } 

Causa

Este error significa que el flujo está desactivado.

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

La mitigación consiste en activar el flujo.

Código de error interno "ResponseTimeout" en la ejecución de Flow

        {
            "error": {
            "code": 504,
            "source": "<api hub source>",
            "clientRequestId": "<GUID>",
            "message": "BadGateway",
            "innerError": {
                "error": {
                    "code": "ResponseTimeout",
                    "message": "The server did not receive a timely response from the upstream server. Request tracking id '<some_tracking_id>'."
                    }
                }
            }
        } 

Causa

Este error significa que el flujo sincrónico tarda más de 120 segundos (2 minutos) en finalizar, lo que hace que se agote el tiempo de espera. Obtenga más información sobre el límite de tiempo de espera de una solicitud sincrónica de salida.

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

La mitigación consiste en buscar qué ejecución de flujo tarda demasiado tiempo y optimizarla para que se ejecute en dos minutos mediante las resoluciones proporcionadas en Solución de problemas de flujos de ejecución lenta.

Código de error "0x80040265" o "0x80048d0b" en la ejecución de Flow

    {

        "code": " 0x80040265", 
        "message": "Failed to install the flow."  

    }  
    {

        "code": " 0x80048d0b", 
        "message": "Failed to install the flow."  

    } 

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

Pruebe las soluciones mencionadas para uno de los siguientes códigos de error:

Código de error "MissingConnectionReference" en la ejecución de Flow

    { 
        "code": " MissingConnectionReference' ", 
        "message": " Connection reference '<connection name>' was not given by invoker."
    } 

Error de ejemplo:

El invocador no ha proporcionado la referencia de conexión "<nombre> de conexión".

Causa

Básicamente, los metadatos de aplicación y flujo deben sincronizarse. Los cambios realizados en un flujo requieren que el creador de aplicaciones edite las aplicaciones mediante el flujo y quite o vuelva a agregar el flujo modificado.

En el caso de los flujos o aplicaciones de solución, una aplicación podría invocar correctamente el flujo en el entorno de origen y, a continuación, producir un error en el entorno de destino con este mensaje de error:

Conexión no configurada para este servicio.

El motivo es que puede haber un cambio en el flujo en el entorno de destino, pero no existe en el entorno de origen.

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

  1. En el entorno de origen, edite la aplicación. Quite y vuelva a agregar los flujos a la aplicación. Guarde y publique los cambios.

  2. En el entorno de destino, quite todas las capas no administradas de la aplicación y el flujo.

  3. Exporte la solución e impórtelo en el entorno de destino.

    Nota:

    No puede haber capas no administradas en el flujo o en la aplicación porque esto puede causar problemas en la conexión con el flujo.

Código de error "NotAllowedConnectionReferenceon" en la ejecución de Flow

    {
        "code": " NotAllowedConnectionReference", 
        "message": "Connection reference '<connection name>' was not given by invoker."
    }

Error de ejemplo:

El invocador no ha proporcionado la referencia de conexión "<nombre> de conexión".

Causa

Este error significa que la aplicación tiene metadatos de flujo que especifican que se requiere una conexión SQL en la instalación, pero los metadatos de flujo reales son diferentes.

Pasos de mitigación

Nota:

Asegúrese de realizar los pasos siguientes en el entorno de origen o desarrollo y actualice la solución. Una vez actualizada la solución, impórela en todos los entornos de destino o producción.

Opción de mitigación 1

  1. En el entorno de origen, edite la aplicación. Quite y vuelva a agregar los flujos a la aplicación. Guarde y publique los cambios.

  2. En el entorno de destino, quite todas las capas no administradas de la aplicación y el flujo.

  3. Exporte la solución e impórtelo en el entorno de destino.

    Nota:

    No puede haber capas no administradas en el flujo o en la aplicación porque esto puede causar problemas en la conexión con el flujo.

Opción de mitigación 2

  1. Cambie la conexión de Embedded a Invoker.
  2. Vaya al portal de flujo para editar y actualizar la configuración del flujo.
  3. En la página de detalles del flujo, en la sección Ejecutar solo usuarios , seleccione Editar.
  4. Para actualizar el origen de conexión de flujo a Invoker, seleccione Proporcionado por el usuario de solo ejecución y guárdelo.
  5. Para actualizar el origen de conexión de flujo a Embedded, seleccione Usar esta conexión y guárdelo.
  6. Para comprobarlo, desencadene el flujo. Verá que las llamadas a "install flow network" ahora se están realizando correctamente.

Otros síntomas

Después de actualizar un flujo, las llamadas a ese flujo desde Power Apps comienzan a generar errores.

  • Si se agrega una nueva entrada a un flujo sin actualizar una aplicación de Power, se producirá un error en el flujo con un mensaje de error similar al siguiente:

    No se pueden procesar expresiones de lenguaje de plantilla en las entradas 'Send_me_a_mobile_notification' de la acción en la línea '1' y la columna '1900': 'No se puede evaluar la expresión de lenguaje de plantilla 'triggerBody()['Sendmeamobilenotification_Text']' porque no se puede seleccionar la propiedad 'Sendmeamobilenotification_Text'. Consulte https://aka.ms/logicexpressions los detalles de uso.'.

    Captura de pantalla del mensaje de error al agregar la nueva entrada al flujo sin actualizar Power App.

  • Si las conexiones necesarias para ejecutar un cambio de flujo, debería aparecer un error que se queja de las conexiones:

    En Power Apps, podría tener el siguiente aspecto:

    Captura de pantalla del mensaje de error que se queja de las conexiones en Power Apps.

    O bien, en Flow, podría tener el siguiente aspecto:

    No se pueden procesar expresiones de lenguaje de plantilla en las entradas 'Send_an_email' de la acción en la línea '1' y la columna '1899': 'La expresión de lenguaje de plantilla 'json(decodeBase64(triggerOutputs().headers['X-M S-APIM-Tokens']))['$connections']['shared_office365']['connectionId']' no se puede evaluar porque la propiedad 'shared_office365' no existe, las propiedades disponibles son 'shared_flowpush'. Consulte https://aka.ms/logicexpressions los detalles de uso.'.

    Captura de pantalla del mensaje de error que se queja de las conexiones en Flow.

  • Si se quita una salida de respuesta, Power Apps tratará el valor como en blanco y Power App se comportará de forma inesperada.

Causa

Para invocar un flujo de Power Apps, Power Apps debe saber qué entradas necesita el flujo, qué conexiones suministrar al flujo y qué salidas devolverá el flujo. Power Apps almacena esta información en la definición de power app, que crea un enlace entre una versión de una aplicación power y los flujos que se usan en ella. Cambiar cualquiera de estos tres aspectos de un flujo puede interrumpir todas las versiones anteriores de Power Apps que se integran con ese flujo. Para corregir una aplicación power afectada o usar uno de estos cambios de flujo, es necesario actualizar power app.

Entre los tipos de cambios más probables para interrumpir la capacidad de Power Apps para llamar a un flujo se incluyen los siguientes:

  • Agregar un nuevo token ask en Power Apps.

    Captura de pantalla de la adición de un nuevo token ask en Power Apps.

  • Agregar una nueva conexión. Por ejemplo, agregando una nueva acción desde un conector que no se usó anteriormente como SharePoint Connector.

    Captura de pantalla que muestra un ejemplo de cómo agregar una nueva conexión.

  • Cambiar una conexión existente. Por ejemplo, cambiar una conexión existente a una nueva conexión.

    Captura de pantalla del cambio de una conexión existente en Flow.

  • Quitar una salida de una acción Responder a Power Apps.

    Captura de pantalla de la eliminación de una salida de una acción Responder a Power Apps.

Otros cambios en las entradas o salidas no interrumpirán la integración entre Power Apps y Flow, pero requerirán que power app se actualice para que pueda usarlas.

Solución

Cambio de una aplicación power en directo

Una vez publicada una aplicación de Power, siempre se recomienda realizar copias de los flujos utilizados por Power Apps para realizar actualizaciones. Cualquier actualización de un flujo al que hace referencia una aplicación power en directo tiene la posibilidad de interrumpir a los usuarios existentes. No elimine ni desactive los flujos existentes hasta que todos los usuarios se hayan actualizado a la nueva versión publicada de Power App.

Captura de pantalla para realizar copias de los flujos utilizados por Power App seleccionando la opción Guardar como.

En la nueva versión de Power App, haga referencia a los nuevos flujos. Cuando se publique la nueva versión de Power App, los usuarios comenzarán a usar los nuevos flujos con las entradas, salidas y conexiones correctas. Lo que impedirá que las actualizaciones de flujo de las nuevas versiones de Power Apps afecten a los usuarios de la versión existente.

Cambio de una versión de desarrollo de Power App

Al desarrollar una aplicación de Power, es fácil realizar cambios en un flujo que no usa una versión activa de Power App. Después de realizar cambios en las entradas, salidas o conexiones de un flujo no publicado, vuelva a seleccionar el flujo desde el panel Flujos .

Captura de pantalla de la actualización de una definición de flujo en Power Apps.

Actualizará la definición del flujo en Power App validando que se usan las entradas, salidas y conexiones correctas en Power App.

Los usuarios de Power App no comenzarán a usar los nuevos flujos hasta que se publique power app. Por lo tanto, actualizar el flujo existente es correcto hasta que lo usa una versión activa de Power App.