Condividi tramite


Procedure consigliate per l'aggiornamento di un flusso usato da un'app Power

Questo articolo descrive le procedure consigliate e i passaggi per attenuare gli errori comuni durante l'esecuzione dei flussi Microsoft in Power Apps.

Si applica a: Power Apps
Numero KB originale: 4477072

Codice di errore "InvokerConnectionOverrideFailed" nell'esecuzione del flusso

Alcuni flussi non vengono eseguiti in Power Apps. Nella cronologia di esecuzione di Flow o nei dati di telemetria di Power Apps potrebbe essere visualizzato un errore simile al seguente:

    { 
        "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

Questo errore si verifica anche quando si chiama l'API install in Common Data Service (CDS), ma la risposta è un errore generico "Flusso di installazione non riuscito".

Causa

Questo problema si verifica perché il flusso è stato aggiornato per usare una nuova connessione, ma l'app usa ancora i metadati del flusso precedente. L'aggiornamento del flusso non aggiorna le app che usano il flusso. Per risolvere questo problema, è necessario aggiornare manualmente l'app affinché le modifiche vengano riflesse nell'app e affinché il flusso funzioni.

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

  1. Aprire l'app per la modifica usando la versione più recente di Power Apps Studio.
  2. Rimuovere i flussi dall'app (Rimuovere i flussi dalla scheda Power Automate).
  3. Aggiungere nuovamente i flussi all'app.
  4. Salvare e ripubblicare l'app.

Codice di errore "ConnectionAuthorizationFailed" durante l'esecuzione di 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

Questo errore significa che, sebbene il creatore disponga delle autorizzazioni per il flusso, il creatore non dispone delle autorizzazioni per le connessioni dipendenti usate nelle azioni del flusso. Si tratta di una limitazione dell'integrazione di Power Apps e Flow.

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

Questa mitigazione prevede che tutte le connessioni nel flusso siano di proprietà di un singolo utente e quindi che l'utente aggiurti il flusso all'app.

Codice di errore "WorkflowTriggerIsNotEnabled" nell'esecuzione del flusso

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

Causa

Questo errore indica che il flusso è disattivato.

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

La mitigazione consiste nell'attivare il flusso.

Codice di errore interno "ResponseTimeout" durante l'esecuzione del flusso

        {
            "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

Questo errore indica che il completamento del flusso sincrono richiede più di 120 secondi (2 minuti), causando il timeout. Altre informazioni sul limite di timeout di una richiesta sincrona in uscita.

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

La mitigazione consiste nel trovare l'esecuzione del flusso che richiede troppo tempo e ottimizzarla per l'esecuzione in due minuti usando le risoluzioni fornite in Risolvere i problemi relativi ai flussi a esecuzione lenta.

Codice di errore "0x80040265" o "0x80048d0b" durante l'esecuzione di Flow

    {

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

    }  
    {

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

    } 

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

Provare le soluzioni indicate per uno dei codici di errore seguenti:

Codice di errore "MissingConnectionReference" nell'esecuzione del flusso

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

Errore di esempio:

Il riferimento alla connessione '<nome> connessione' non è stato specificato dall'invoker.

Causa

In sostanza, i metadati dell'app e del flusso devono essere sincronizzati. Qualsiasi modifica apportata a un flusso richiede al creatore di app di modificare le app usando il flusso e rimuovere o aggiungere nuovamente il flusso modificato.

Per le app o i flussi della soluzione, un'app potrebbe richiamare correttamente il flusso nell'ambiente di origine e quindi non riuscire nell'ambiente di destinazione con questo messaggio di errore:

Connessione non configurata per questo servizio.

Il motivo è che potrebbe essere presente una modifica al flusso nell'ambiente di destinazione, ma non esiste nell'ambiente di origine.

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

  1. Nell'ambiente di origine modificare l'app. Rimuovere e quindi aggiungere nuovamente i flussi all'app. Salvare e pubblicare le modifiche.

  2. Nell'ambiente di destinazione rimuovere tutti i livelli non gestiti nell'app e nel flusso.

  3. Esportare la soluzione e importarla nell'ambiente di destinazione.

    Nota

    Non possono essere presenti livelli non gestiti nel flusso o nell'app perché ciò può causare problemi di connessione al flusso.

Codice di errore "NotAllowedConnectionReferenceon" nell'esecuzione del flusso

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

Errore di esempio:

Il riferimento alla connessione '<nome> connessione' non è stato specificato dall'invoker.

Causa

Questo errore indica che l'app dispone di metadati del flusso che specificano che è necessaria una connessione SQL all'installazione, ma i metadati effettivi del flusso sono diversi.

Passaggi di mitigazione

Nota

Assicurarsi di eseguire i passaggi seguenti nell'ambiente di origine o di sviluppo e aggiornare la soluzione. Dopo aver aggiornato la soluzione, importarla in tutti gli ambienti di destinazione o di produzione.

Opzione di mitigazione 1

  1. Nell'ambiente di origine modificare l'app. Rimuovere e quindi aggiungere nuovamente i flussi all'app. Salvare e pubblicare le modifiche.

  2. Nell'ambiente di destinazione rimuovere tutti i livelli non gestiti nell'app e nel flusso.

  3. Esportare la soluzione e importarla nell'ambiente di destinazione.

    Nota

    Non possono essere presenti livelli non gestiti nel flusso o nell'app perché ciò può causare problemi di connessione al flusso.

Opzione di mitigazione 2

  1. Modificare la connessione da Embedded a Invoker.
  2. Passare al portale di flusso per modificare e aggiornare le impostazioni del flusso.
  3. Nella sezione Esegui solo utenti della pagina dei dettagli del flusso selezionare Modifica.
  4. Per aggiornare l'origine della connessione del flusso a Invoker, selezionare Fornito dall'utente di sola esecuzione e salvare.
  5. Per aggiornare l'origine della connessione del flusso a Embedded, selezionare Usa questa connessione e salvare.
  6. Verificare attivando il flusso. Si nota che le chiamate "install flow network" ora hanno esito positivo.

Altri sintomi

Dopo aver aggiornato un flusso, le chiamate a tale flusso da Power Apps iniziano a non riuscire.

  • Se un nuovo input viene aggiunto a un flusso senza l'aggiornamento di power app, il flusso avrà esito negativo con un messaggio di errore simile al seguente:

    Impossibile elaborare le espressioni del linguaggio del modello negli input 'Send_me_a_mobile_notification' in corrispondenza della riga '1' e della colonna '1900': 'Impossibile valutare l'espressione del linguaggio modello 'triggerBody()['Sendmeamobilenotification_Text']' perché non è possibile selezionare la proprietà 'Sendmeamobilenotification_Text'. Per informazioni dettagliate sull'utilizzo, vedere https://aka.ms/logicexpressions .

    Screenshot del messaggio di errore quando si aggiunge il nuovo input al flusso senza aggiornare Power App.

  • Se le connessioni necessarie per eseguire una modifica del flusso, verrà visualizzato un errore che segnala le connessioni:

    In Power Apps potrebbe essere simile al seguente:

    Screenshot del messaggio di errore che segnala le connessioni in Power Apps.

    Oppure in Flow potrebbe essere simile al seguente:

    Impossibile elaborare espressioni del linguaggio modello negli input 'Send_an_email' in azione alla riga '1' e alla colonna '1899': 'L'espressione del linguaggio modello 'json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_office365']['connectionId']' non può essere valutata perché la proprietà 'shared_office365' non esiste, le proprietà disponibili sono 'shared_flowpush'. Per informazioni dettagliate sull'utilizzo, vedere https://aka.ms/logicexpressions .

    Screenshot del messaggio di errore che segnala le connessioni in Flow.

  • Se un output di risposta viene rimosso, Power Apps considererà vuoto il valore e Power App si comporterà in modo imprevisto.

Causa

Per richiamare un flusso da Power Apps, Power Apps deve conoscere gli input necessari per il flusso, le connessioni da fornire al flusso e gli output restituiti dal flusso. Power Apps archivia queste informazioni nella definizione di Power App, che crea un'associazione tra una versione di power app e i flussi usati. La modifica di uno di questi tre aspetti di un flusso può interrompere tutte le versioni precedenti di Power Apps che si integrano con tale flusso. Per correggere un'app Power interessata o per usare una di queste modifiche al flusso, è necessario aggiornare Power App.

I tipi di modifiche che probabilmente interromperanno la possibilità di chiamare un flusso in Power Apps includono:

  • Aggiunta di un nuovo token Ask in Power Apps.

    Screenshot dell'aggiunta di un nuovo token Ask in Power Apps.

  • Aggiunta di una nuova connessione. Ad esempio, aggiungendo una nuova azione da un connettore che non è stato usato in precedenza come SharePoint Connector.

    Screenshot che mostra un esempio di aggiunta di una nuova connessione.

  • Modifica di una connessione esistente. Ad esempio, la modifica di una connessione esistente in una nuova connessione.

    Screenshot della modifica di una connessione esistente in Flow.

  • Rimozione di un output da un'azione Rispondi a Power Apps.

    Screenshot della rimozione di un output da un'azione Rispondi a Power Apps.

Altre modifiche agli input o agli output non interromperanno l'integrazione tra Power Apps e Flow, ma richiederanno l'aggiornamento di Power App in modo che possa usarle.

Risoluzione

Modifica di un'app Power live

Dopo la pubblicazione di un'app Power, è sempre consigliabile creare copie dei flussi usati da Power Apps per eseguire eventuali aggiornamenti. Qualsiasi aggiornamento a un flusso a cui fa riferimento un'app power live può causare interruzioni degli utenti esistenti. Non eliminare o disattivare i flussi esistenti fino a quando tutti gli utenti non sono stati aggiornati alla nuova versione pubblicata di Power App.

Screenshot per eseguire copie dei flussi usati da Power App selezionando l'opzione Salva con nome.

Nella nuova versione di Power App fare riferimento ai nuovi flussi. Quando viene pubblicata la nuova versione di Power App, gli utenti inizieranno a usare i nuovi flussi con gli input, gli output e le connessioni corretti. Ciò impedirà che gli aggiornamenti del flusso per le nuove versioni di Power Apps influenzino gli utenti della versione esistente.

Modifica di una versione di sviluppo di Power App

Durante lo sviluppo di un'app Power, apportare modifiche a un flusso non usato da una versione live di Power App è facile. Dopo aver apportato modifiche agli input, agli output o alle connessioni di un flusso non pubblicato, deselezionare nuovamente il flusso dal riquadro Flussi .

Screenshot dell'aggiornamento di una definizione di flusso in Power Apps.

Aggiornerà la definizione del flusso in Power App convalidando che l'input, gli output e le connessioni corretti vengano usati in Power App.

Gli utenti di Power App non inizieranno a usare i nuovi flussi fino alla pubblicazione di Power App. L'aggiornamento del flusso esistente è quindi corretto fino a quando non viene usato da una versione live di Power App.