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 di flussi Microsoft in Power Apps.
Si applica a: Power Apps
Numero KB originale: 4477072
Codice di errore "InvokerConnectionOverrideFailed" nell'esecuzione di Flow
Alcuni flussi non vengono eseguiti in Power Apps. Nella cronologia di esecuzione di Flow o nei dati di telemetria di Power Apps è possibile che venga 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."
}
Note
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 precedenti. 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 che il flusso funzioni.
Passaggi di mitigazione
Note
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.
- Aprire l'app per la modifica usando la versione più recente di Power Apps Studio.
- Rimuovere i flussi dall'app (rimuovere i flussi dalla scheda Power Automate).
- Aggiungere nuovamente i flussi all'app.
- Salvare e ripubblicare l'app.
Codice di errore "ConnectionAuthorizationFailed" nell'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 indica che, anche se il creatore dispone delle autorizzazioni per il flusso, l'autore 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
Note
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 consiste nell'avere tutte le connessioni nel flusso di proprietà di un singolo utente e quindi fare in modo che l'utente aggiunga il flusso all'app.
Codice di errore "WorkflowTriggerIsNotEnabled" durante l'esecuzione di Flow
{
"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
Note
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" nell'esecuzione di 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
Questo errore indica che il flusso sincrono richiede più di 120 secondi (2 minuti) per terminare, causandone il timeout. Altre informazioni sul limite di timeout di una richiesta sincrona in uscita.
Passaggi di mitigazione
Note
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 individuare 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
Note
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" durante l'esecuzione di Flow
{
"code": " MissingConnectionReference' ",
"message": " Connection reference '<connection name>' was not given by invoker."
}
Errore di esempio:
Il riferimento alla connessione '<nome> connessione' non è stato assegnato dal invoker.
Causa
Essenzialmente, i metadati dell'app e del flusso devono essere sincronizzati. Le modifiche apportate a un flusso richiedono all'autore dell'app di modificare le app usando il flusso e rimuovere o riaggiungere 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 esserci una modifica al flusso nell'ambiente di destinazione, ma non esiste nell'ambiente di origine.
Passaggi di mitigazione
Note
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.
Nell'ambiente di origine modificare l'app. Rimuovere e quindi riaggiungere i flussi all'app. Salvare e pubblicare le modifiche.
Nell'ambiente di destinazione rimuovere tutti i livelli non gestiti nell'app e nel flusso.
Esportare la soluzione e importarla nell'ambiente di destinazione.
Note
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 di Flow
{
"code": " NotAllowedConnectionReference",
"message": "Connection reference '<connection name>' was not given by invoker."
}
Errore di esempio:
Il riferimento alla connessione '<nome> connessione' non è stato assegnato dal invoker.
Causa
Questo errore indica che l'app dispone di metadati di flusso che specifica che è necessaria una connessione SQL durante l'installazione, ma i metadati effettivi del flusso sono diversi.
Passaggi di mitigazione
Note
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
Nell'ambiente di origine modificare l'app. Rimuovere e quindi riaggiungere i flussi all'app. Salvare e pubblicare le modifiche.
Nell'ambiente di destinazione rimuovere tutti i livelli non gestiti nell'app e nel flusso.
Esportare la soluzione e importarla nell'ambiente di destinazione.
Note
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
- Modificare la connessione da Embedded a Invoker.
- Passare al portale di flusso per modificare e aggiornare le impostazioni del flusso.
- Nella pagina dei dettagli del flusso, nella sezione Utenti di sola esecuzione, seleziona Modifica.
- Per aggiornare l'origine connessione del flusso a Invoker, selezionare Fornito dall'utente di sola esecuzione e salvare.
- Per aggiornare l'origine connessione del flusso a Embedded, selezionare Usa questa connessione e salvare.
- Verificare attivando il flusso. Si noterà che le chiamate di "rete del flusso di installazione" hanno esito positivo.
Altri sintomi
Dopo l'aggiornamento di un flusso, le chiamate a tale flusso dall'avvio di Power Apps hanno esito negativo.
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 di linguaggio del modello in azione 'Send_me_a_mobile_notification' input alla riga '1' e alla colonna '1900': 'L'espressione del linguaggio del modello 'triggerBody()['Sendmeamobilenotification_Text']' non può essere valutata perché non è possibile selezionare la proprietà 'Sendmeamobilenotification_Text'. Per informazioni dettagliate sull'utilizzo, vedere
https://aka.ms/logicexpressions
.Se le connessioni necessarie per eseguire una modifica del flusso, dovrebbe essere visualizzato un errore che segnala le connessioni:
In Power Apps potrebbe essere simile al seguente:
In alternativa, in Flow potrebbe essere simile al seguente:
Impossibile elaborare le espressioni del linguaggio del modello in azione 'Send_an_email' input alla riga '1' e alla colonna '1899': 'L'espressione del linguaggio del modello 'json(decodeBase64(triggerOutputs().headers['X-Impossibile valutare MS-APIM-Tokens'])['$connections']['shared_office365']['connectionId']' perché la proprietà 'shared_office365' non esiste, le proprietà disponibili sono 'shared_flowpush'. Per informazioni dettagliate sull'utilizzo, vedere
https://aka.ms/logicexpressions
.Se viene rimosso un output della risposta, Power Apps considererà il valore vuoto 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 di flusso, è necessario aggiornare Power App.
È più probabile che i tipi di modifiche interrompano una capacità di Power Apps di chiamare un flusso includono:
Aggiunta di un nuovo token Ask in Power Apps.
Aggiunta di una nuova connessione. Ad esempio, aggiungendo una nuova azione da un connettore non usato in precedenza come il connettore SharePoint.
Modifica di una connessione esistente. Ad esempio, la modifica di una connessione esistente a una nuova connessione.
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 ha il potenziale di interrompere gli utenti esistenti. Non eliminare o disattivare i flussi esistenti finché tutti gli utenti non sono stati aggiornati alla nuova versione pubblicata di Power App.
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à agli aggiornamenti di flusso per le nuove versioni di Power Apps di influire sugli utenti della versione esistente.
Modifica di una versione di sviluppo di Power App
Durante lo sviluppo di un'app Power, è facile apportare modifiche a un flusso non usato da una versione dinamica di Power App. Dopo aver apportato modifiche agli input, agli output o alle connessioni di un flusso non pubblicato, deselezionare di nuovo il flusso dal riquadro Flussi .
Aggiornerà la definizione del flusso in Power App verificando che vengano usati input, output e connessioni corretti 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 ok fino a quando non viene usato da una versione dinamica di Power App.