Share via


Inviare messaggi correlati in ordine usando un convoglio sequenziale in App per la logica di Azure con bus di servizio di Azure

Si applica a: App per la logica di Azure (consumo)

Quando è necessario inviare messaggi correlati in un ordine specifico, è possibile seguire il modello di convoglio sequenziale quando si usano App per la logica di Azure usando il connettore bus di servizio di Azure. I messaggi correlati hanno una proprietà che definisce la relazione tra tali messaggi, ad esempio l'ID per la sessione nel bus di servizio.

Si supponga, ad esempio, di avere 10 messaggi per una sessione denominata "Session 1" e di avere 5 messaggi per una sessione denominata "Session 2" che vengono tutti inviati alla stessa coda del bus di servizio. È possibile creare un'app per la logica che elabora i messaggi dalla coda in modo che tutti i messaggi di "Sessione 1" vengano gestiti da un'esecuzione di un singolo trigger e tutti i messaggi della "Sessione 2" vengano gestiti dall'esecuzione successiva del trigger.

Modello di convoglio sequenziale generale

Questo articolo illustra come creare un'app per la logica che implementa questo modello usando il modello Recapito in ordine correlato usando il modello sessioni del bus di servizio . Questo modello definisce un flusso di lavoro dell'app per la logica che inizia con il connettore del bus di servizio Quando un messaggio viene ricevuto in un trigger di coda (peek-lock), che riceve messaggi da una coda del bus di servizio. Ecco i passaggi generali che questa app per la logica esegue:

  • Inizializzare una sessione in base a un messaggio che il trigger legge dalla coda del bus di servizio.

  • Leggere ed elaborare tutti i messaggi dalla stessa sessione nella coda durante l'esecuzione del flusso di lavoro corrente.

Per esaminare il file JSON di questo modello, vedere GitHub: service-bus-sessions.json.

Per altre informazioni, vedere Modello di convoglio sequenziale - Modelli di progettazione cloud dell'architettura di Azure.

Prerequisiti

Controllare l'accesso allo spazio dei nomi del bus di servizio

Se non si è certi che l'app per la logica disponga delle autorizzazioni per accedere allo spazio dei nomi del bus di servizio, verificare tali autorizzazioni.

  1. Accedere al portale di Azure. Trovare e selezionare lo spazio dei nomi del bus di servizio.

  2. Nel menu dello spazio dei nomi, in Impostazioni, selezionare Criteri di accesso condiviso. In Attestazioni verificare di disporre delle autorizzazioni Di gestione per lo spazio dei nomi.

    Gestire le autorizzazioni per lo spazio dei nomi del bus di servizio

  3. Ottenere ora la stringa di connessione per lo spazio dei nomi del bus di servizio. È possibile usare questa stringa in un secondo momento quando si crea una connessione allo spazio dei nomi dall'app per la logica.

    1. Nel riquadro Criteri di accesso condiviso selezionare RootManageSharedAccessKey.

    2. Accanto alla stringa di connessione primaria selezionare il pulsante Copia. Salvare la stringa di connessione per usarla successivamente.

      Copiare la stringa di connessione dello spazio dei nomi del bus di servizio

    Suggerimento

    Per verificare se la stringa di connessione è associata allo spazio dei nomi del bus di servizio o a un'entità di messaggistica, ad esempio una coda, cercare il parametro EntityPath nella stringa di connessione. Se questo parametro è presente, la stringa di connessione è destinata a un'entità specifica e non è la stringa corretta da usare con l'app per la logica.

Creare l'app per la logica

In questa sezione viene creata un'app per la logica usando il modello Recapito in ordine correlato usando il modello sessioni del bus di servizio , che include il trigger e le azioni per l'implementazione di questo modello di flusso di lavoro. È anche possibile creare una connessione allo spazio dei nomi del bus di servizio e specificare il nome per la coda del bus di servizio che si vuole usare.

  1. Nel portale di Azure creare un'app per la logica vuota. Nella home page di Azure selezionare Crea una risorsa> Appper la logica diintegrazione>.

  2. Dopo aver visualizzato la raccolta modelli, scorrere oltre il video e le sezioni trigger comuni. Nella sezione Modelli selezionare il modello, Recapito in ordine correlato tramite sessioni del bus di servizio.

    Selezionare il modello

  3. Quando viene visualizzata la casella di conferma, selezionare Usa questo modello.

  4. Nella forma Bus di servizio di Progettazione app per la logica selezionare Continua e quindi selezionare il segno più (+) visualizzato nella forma.

    Selezionare

  5. Creare ora una connessione del bus di servizio scegliendo una delle opzioni seguenti:

    • Per usare la stringa di connessione copiata in precedenza dallo spazio dei nomi del bus di servizio, seguire questa procedura:

      1. Selezionare Immettere manualmente le informazioni di connessione.

      2. Per Nome connessione specificare un nome per la connessione. Per Stringa di connessione incollare la stringa di connessione dello spazio dei nomi e selezionare Crea, ad esempio:

        Immettere il nome di connessione e la stringa di connessione del bus di servizio

        Suggerimento

        Se questa stringa di connessione non è disponibile, vedere come trovare e copiare la stringa di connessione dello spazio dei nomi del bus di servizio.

    • Per selezionare uno spazio dei nomi del bus di servizio dalla sottoscrizione di Azure corrente, seguire questa procedura:

      1. Per Nome connessione specificare un nome per la connessione. Per Spazio dei nomi del bus di servizio selezionare lo spazio dei nomi del bus di servizio, ad esempio:

        Immettere il nome della connessione e selezionare Spazio dei nomi del bus di servizio

      2. Quando viene visualizzato il riquadro successivo, selezionare i criteri del bus di servizio e selezionare Crea.

        Selezionare Criteri del bus di servizio e quindi

  6. Al termine, selezionare Continua.

    Progettazione app per la logica mostra ora il modello Recapito in ordine correlato tramite sessioni del bus di servizio , che contiene un flusso di lavoro prepopolato con un trigger e azioni, inclusi due ambiti che implementano la gestione degli errori che seguono il Try-Catch modello.

È ora possibile ottenere altre informazioni sul trigger e sulle azioni nel modello oppure passare a fornire i valori per il modello di app per la logica.

Riepilogo del modello

Di seguito è riportato il flusso di lavoro principale nel modello Recapito in ordine correlato tramite sessioni del bus di servizio quando i dettagli vengono compressi:

Flusso di lavoro principale del modello

Nome Descrizione
When a message is received in a queue (peek-lock) In base alla ricorrenza specificata, questo trigger del bus di servizio controlla la coda del bus di servizio specificata per eventuali messaggi. Se nella coda esiste un messaggio, il trigger viene attivato, che crea ed esegue un'istanza del flusso di lavoro.

Il termine peek-lock indica che il trigger invia una richiesta per recuperare un messaggio dalla coda. Se esiste un messaggio, il trigger recupera e blocca il messaggio in modo che non venga eseguita alcuna altra elaborazione su tale messaggio fino alla scadenza del periodo di blocco. Per informazioni dettagliate, inizializzare la sessione.

Init isDone Questa azione Inizializza variabile crea una variabile booleana impostata su false e indica quando vengono soddisfatte le condizioni seguenti:

- Non sono disponibili altri messaggi nella sessione per la lettura.
- Il blocco della sessione non deve più essere rinnovato in modo che l'istanza del flusso di lavoro corrente possa terminare.

Per informazioni dettagliate, vedere Inizializzare la sessione.

Try Questa azione Ambito contiene le azioni eseguite per elaborare un messaggio. Se si verifica un problema nell'ambito, l'azione TryAmbito successiva Catch gestisce il problema. Per altre informazioni, vedere Ambito "Try".
Catch Questa azione Ambito contiene le azioni eseguite se si verifica un problema nell'ambito precedenteTry. Per altre informazioni, vedere Ambito "Catch".

Ambito "Prova"

Di seguito è riportato il flusso di primo livello nell'azione Trydi ambito quando i dettagli vengono compressi:

Flusso di lavoro dell'azione di ambito

Nome Descrizione
Send initial message to topic È possibile sostituire questa azione con qualsiasi azione che si desidera gestire il primo messaggio dalla sessione nella coda. L'ID sessione specifica la sessione.

Per questo modello, un'azione del bus di servizio invia il primo messaggio a un argomento del bus di servizio. Per informazioni dettagliate, vedere Gestire il messaggio iniziale.

(ramo parallelo) Questa azione di ramo parallelo crea due percorsi:

- Branch #1: Continuare a elaborare il messaggio. Per altre informazioni, vedere Branch #1: Completare il messaggio iniziale nella coda.

- Branch #2: Abbandonare il messaggio se qualcosa non va e rilasciare per il ritiro da un'altra esecuzione del trigger. Per altre informazioni, vedere Branch #2: Abbandonare il messaggio iniziale dalla coda.

Entrambi i percorsi si aggiungono più avanti nella sessione Chiudi in una coda e hanno esito positivo , descritti nella riga successiva.

Close a session in a queue and succeed Questa azione del bus di servizio aggiunge i rami descritti in precedenza e chiude la sessione nella coda dopo uno degli eventi seguenti:

- Il flusso di lavoro termina l'elaborazione dei messaggi disponibili nella coda.
- Il flusso di lavoro abbandona il messaggio iniziale perché si è verificato un errore.

Per informazioni dettagliate, vedere Chiudere una sessione in una coda e avere esito positivo.

Branch #1: Completare il messaggio iniziale nella coda

Nome Descrizione
Complete initial message in queue Questa azione del bus di servizio contrassegna un messaggio recuperato correttamente come completato e rimuove il messaggio dalla coda per impedire il riprocesso. Per informazioni dettagliate, vedere Gestire il messaggio iniziale.
While there are more messages for the session in the queue Questo ciclo Fino a quando non viene eseguito il recupero dei messaggi mentre i messaggi sono presenti o fino a un'ora. Per altre informazioni sulle azioni in questo ciclo, vedere Mentre sono presenti altri messaggi per la sessione nella coda.
Set isDone = true Quando non esistono più messaggi, questa azione Imposta variabile imposta isDone su true.
Renew session lock until cancelled Questo ciclo Until assicura che il blocco della sessione venga mantenuto da questa app per la logica mentre i messaggi esistono o fino a un'ora non passano. Per altre informazioni sulle azioni in questo ciclo, vedere Rinnovare il blocco sessione fino all'annullamento.

Branch #2: Abbandonare il messaggio iniziale dalla coda

Se l'azione che gestisce il primo messaggio ha esito negativo, l'azione del bus di servizio , Abbandonare il messaggio iniziale dalla coda, rilascia il messaggio per un'altra istanza del flusso di lavoro eseguita per la selezione e il processo. Per informazioni dettagliate, vedere Gestire il messaggio iniziale.

Ambito "Catch"

Se le azioni nell'ambito Try hanno esito negativo, l'app per la logica deve comunque chiudere la sessione. L'azione Catch ambito viene eseguita quando l'azione dell'ambito genera lo Try stato, , FailedSkippedo TimedOut. L'ambito restituisce un messaggio di errore che include l'ID sessione in cui si è verificato il problema e termina l'app per la logica.

Di seguito è riportato il flusso di primo livello nell'azione dell'ambito Catch quando i dettagli vengono compressi:

Flusso di lavoro dell'azione di ambito

Nome Descrizione
Close a session in a queue and fail Questa azione del bus di servizio chiude la sessione nella coda in modo che il blocco della sessione non rimanga aperto. Per informazioni dettagliate, vedere Chiudere una sessione in una coda e non riuscire.
Find failure msg from 'Try' block Questa azione Filter Array crea una matrice dagli input e dagli output da tutte le azioni all'interno dell'ambito Try in base ai criteri specificati. In questo caso, questa azione restituisce gli output dalle azioni che hanno generato Failed lo stato. Per informazioni dettagliate, vedere Trovare il msg di errore dal blocco 'Try'.
Select error details Questa azione Select crea una matrice che contiene oggetti JSON in base ai criteri specificati. Questi oggetti JSON vengono compilati dai valori della matrice creata dall'azione precedente, Find failure msg from 'Try' block. In questo caso, questa azione restituisce una matrice che contiene un oggetto JSON creato dai dettagli dell'errore restituiti dall'azione precedente. Per informazioni dettagliate, vedere Selezionare i dettagli dell'errore.
Terminate Questa azione Termina arresta l'esecuzione per il flusso di lavoro, annulla tutte le azioni in corso, ignora le azioni rimanenti e restituisce lo stato specificato, l'ID sessione e il risultato dell'errore dall'azioneSelect error details. Per informazioni dettagliate, vedere Terminare l'app per la logica.

Completare il modello

Per fornire i valori per il trigger e le azioni nel modello di recapito in ordine correlato usando il modello di sessioni del bus di servizio , seguire questa procedura. È necessario specificare tutti i valori necessari, contrassegnati da un asterisco (*), prima di poter salvare l'app per la logica.

Inizializzare la sessione

  • Per il trigger Quando viene ricevuto un messaggio in una coda (peek-lock), specificare queste informazioni in modo che il modello possa inizializzare una sessione usando la proprietà Id sessione, ad esempio:

    Dettagli del trigger del bus di servizio per

    Nota

    Inizialmente, l'intervallo di polling è impostato su tre minuti in modo che l'app per la logica non venga eseguita più frequentemente di quanto previsto e comporta addebiti di fatturazione imprevisti. Idealmente, impostare l'intervallo e la frequenza su 30 secondi in modo che l'app per la logica venga attivata immediatamente quando arriva un messaggio.

    Proprietà Obbligatorio per questo scenario Valore Descrizione
    Nome coda <nome coda> Nome della coda del bus di servizio creata in precedenza. In questo esempio viene usato "Fabrikam-Service-Bus-Queue".
    Tipo di coda Principale Coda del bus di servizio principale
    ID sessione Successivamente disponibile Questa opzione ottiene una sessione per ogni esecuzione del trigger, in base all'ID sessione del messaggio nella coda del bus di servizio. La sessione viene bloccata anche in modo che nessun'altra app per la logica o altri client possano elaborare messaggi correlati a questa sessione. Le azioni successive del flusso di lavoro elaborano tutti i messaggi associati a tale sessione, come descritto più avanti in questo articolo.

    Ecco altre informazioni sulle altre opzioni id sessione :

    - Nessuna: l'opzione predefinita, che non comporta sessioni e non può essere usata per implementare il modello di chiamata sequenziale.

    - Immettere il valore personalizzato: usare questa opzione quando si conosce l'ID sessione che si vuole usare e si vuole sempre eseguire il trigger per l'ID sessione.

    Nota: il connettore del bus di servizio può salvare un numero limitato di sessioni univoce alla volta da bus di servizio di Azure alla cache del connettore. Se il numero di sessioni supera questo limite, le sessioni precedenti vengono rimosse dalla cache. Per altre informazioni, vedere Messaggi di Exchange nel cloud con App per la logica di Azure e bus di servizio di Azure.

    Interval <numero di intervalli> Numero di unità di tempo tra ricorrenze prima del controllo di un messaggio.
    Frequenza Secondo, Minuto, Ora, Giorno, Settimana o Mese Unità di tempo per la ricorrenza da usare durante il controllo di un messaggio.

    Suggerimento: per aggiungere un fuso orario o ora di inizio, selezionare queste proprietà dall'elenco Aggiungi nuovo parametro .

    Per altre informazioni sul trigger, vedere Bus di servizio: quando un messaggio viene ricevuto in una coda (peek-lock). Il trigger restituisce un ServiceBusMessage.

Dopo aver inizializzato la sessione, il flusso di lavoro usa l'azione Inizializza variabile per creare una variabile booleana impostata inizialmente su false e indica quando le condizioni seguenti sono vere:

  • Non sono disponibili più messaggi nella sessione.

  • Il blocco della sessione non deve più essere rinnovato in modo che l'istanza del flusso di lavoro corrente possa terminare.

Dettagli dell'azione

Successivamente, nel blocco Try il flusso di lavoro esegue azioni sul primo messaggio letto.

Gestire il messaggio iniziale

La prima azione è un'azione segnaposto del bus di servizio, Invia messaggio iniziale all'argomento, che è possibile sostituire con qualsiasi altra azione che si vuole gestire il primo messaggio dalla sessione nella coda. L'ID sessione specifica la sessione da cui ha origine il messaggio.

L'azione segnaposto del bus di servizio invia il primo messaggio a un argomento del bus di servizio specificato dalla proprietà Id sessione . In questo modo, tutti i messaggi associati a una sessione specifica passano allo stesso argomento. Tutte le proprietà ID sessione per le azioni successive in questo modello usano lo stesso valore ID sessione.

Dettagli sull'azione del bus di servizio per

  1. Nell'azione Del bus di servizio Completare il messaggio iniziale nella coda, specificare il nome per la coda del bus di servizio e mantenere tutti gli altri valori delle proprietà predefiniti nell'azione.

    Dettagli dell'azione del bus di servizio per

  2. Nell'azione del bus di servizio , abbandonare il messaggio iniziale dalla coda, specificare il nome per la coda del bus di servizio e mantenere tutti gli altri valori delle proprietà predefiniti nell'azione.

    Dettagli sull'azione del bus di servizio per

Successivamente, verranno fornite le informazioni necessarie per le azioni che seguono l'azione Completa messaggio iniziale nella coda . Si inizierà con le azioni in Mentre sono presenti più messaggi per la sessione nel ciclo di coda .

Mentre nella coda sono presenti altri messaggi per la sessione

Questo ciclo Until esegue queste azioni mentre i messaggi sono presenti nella coda o fino a un'ora. Per modificare il limite di tempo del ciclo, modificare il valore della proprietà Timeout del ciclo.

  • Ottenere messaggi aggiuntivi dalla coda mentre esistono messaggi.

  • Controllare il numero di messaggi rimanenti. Se i messaggi esistono ancora, continuare l'elaborazione dei messaggi. Se non esistono più messaggi, il flusso di lavoro imposta la isDone variabile su truee chiude il ciclo.

Fino a quando non si elaborano messaggi durante la coda

  1. Nell'azione del bus di servizio ottenere messaggi aggiuntivi dalla sessione specificare il nome per la coda del bus di servizio. In caso contrario, mantenere tutti gli altri valori di proprietà predefiniti nell'azione.

    Nota

    Per impostazione predefinita, il numero massimo di messaggi è impostato su 175, ma questo limite è interessato dalla dimensione del messaggio e dalla proprietà dimensione massima dei messaggi nel bus di servizio. Per altre informazioni, vedere Dimensioni dei messaggi per una coda.

    Azione del bus di servizio -

    Successivamente, il flusso di lavoro si divide in questi rami paralleli:

    • Se si verifica un errore o un errore durante il controllo di messaggi aggiuntivi, impostare la isDone variabile su true.

    • I messaggi di elaborazione se sono stati ricevuti controlli se il numero di messaggi rimanenti è zero. Se esistono messaggi false e più messaggi, continuare l'elaborazione. Se true e non esistono più messaggi, il flusso di lavoro imposta la isDone variabile su true.

    Condizione - Elaborare i messaggi se presenti

    Nella sezione If false ( If false ) viene elaborato un ciclo For ogni ciclo elabora ogni messaggio in primo ordine (FIFO). Nelle impostazioni del ciclo, l'impostazione Controllo concorrenza è impostata su 1, quindi viene elaborato solo un singolo messaggio alla volta.

    Ciclo

  2. Per le azioni del bus di servizio, Completare il messaggio in una coda e Abbandonare il messaggio in una coda , specificare il nome per la coda del bus di servizio.

    Azioni del bus di servizio :

    Dopo aver eseguito l'operazione Mentre sono presenti altri messaggi per la sessione nella coda , il flusso di lavoro imposta la isDone variabile su true.

Successivamente, verranno fornite le informazioni necessarie per le azioni nel blocco della sessione Rinnova fino a quando non viene annullato .

Rinnovare il blocco della sessione fino all'annullamento

Questo ciclo Finché non verifica che il blocco della sessione venga mantenuto da questa app per la logica mentre i messaggi sono presenti nella coda o fino a un'ora passa eseguendo queste azioni. Per modificare il limite di tempo del ciclo, modificare il valore della proprietà Timeout del ciclo.

  • Ritardo per 25 secondi o un intervallo di tempo inferiore al timeout di blocco per la coda in fase di elaborazione. La durata del blocco più piccola è di 30 secondi, quindi il valore predefinito è sufficiente. È tuttavia possibile ottimizzare il numero di volte in cui viene eseguito il ciclo modificando in modo appropriato.

  • Verificare se la isDone variabile è impostata su true.

    • Se isDone è impostato su true, il flusso di lavoro sta ancora elaborando i messaggi, quindi il flusso di lavoro rinnova il blocco nella sessione nella coda e controlla nuovamente la condizione del ciclo.

      È necessario specificare il nome per la coda del bus di servizio nell'azione del bus di servizio, rinnovare il blocco nella sessione in una coda.

    • Se isDone è impostato su true, il flusso di lavoro non rinnova il blocco nella sessione nella coda e chiude il ciclo.

    Fino al ciclo -

Rinnovare il blocco nella sessione in una coda

Questa azione del bus di servizio rinnova il blocco della sessione nella coda mentre il flusso di lavoro sta ancora elaborando i messaggi.

  • Nell'azione Del bus di servizio rinnovare il blocco nella sessione in una coda, specificare il nome per la coda del bus di servizio.

    Azione del bus di servizio -

Successivamente, verranno fornite le informazioni necessarie per l'azione del bus di servizio, Chiudere una sessione in una coda e avere esito positivo.

Chiudere una sessione in una coda e avere esito positivo

Questa azione del bus di servizio chiude la sessione nella coda dopo che il flusso di lavoro termina l'elaborazione di tutti i messaggi disponibili nella coda o il flusso di lavoro abbandona il messaggio iniziale.

  • Nell'azione del bus di servizio chiudere una sessione in una coda e fornire il nome per la coda del bus di servizio.

    Azione del bus di servizio :

Le sezioni seguenti descrivono le azioni nella Catch sezione, che gestiscono gli errori e le eccezioni che si verificano nel flusso di lavoro.

Chiudere una sessione in una coda e non riuscire

Questa azione del bus di servizio viene sempre eseguita come prima azione nell'ambito Catch e chiude la sessione nella coda.

  • Nell'azione del bus di servizio chiudere una sessione in una coda e non riuscire, specificare il nome per la coda del bus di servizio.

    Azione del bus di servizio :

Successivamente, il flusso di lavoro crea una matrice con input e output da tutte le azioni nell'ambito Try in modo che l'app per la logica possa accedere alle informazioni sull'errore o sull'errore che si è verificato.

Trovare il msg degli errori dal blocco 'Try'

Questa azione Filter Array crea una matrice con input e output da tutte le azioni all'interno dell'ambito Try in base ai criteri specificati usando la result() funzione . In questo caso, questa azione restituisce gli output delle azioni con Failed stato usando la funzione e item()la equals() funzione.

Azione filtro matrice -

Ecco la definizione JSON per questa azione:

"Find_failure_msg_from_'Try'_block": {
   "inputs": {
      "from": "@Result('Try')",
      "where": "@equals(item()['status'], 'Failed')"
   },
   "runAfter": {
      "Close_the_session_in_the_queue_and_fail": [
         "Succeeded"
      ]
   },
   "type": "Query"
},

Successivamente, il flusso di lavoro crea una matrice con un oggetto JSON che contiene le informazioni sull'errore nella matrice restituita dall'azione Find failure msg from 'Try' block .

Selezionare i dettagli dell'errore

Questa azione Select crea una matrice che contiene oggetti JSON in base alla matrice di input restituita dall'azione precedente, Find failure msg from 'Try' block. In particolare, questa azione restituisce una matrice con solo le proprietà specificate per ogni oggetto nella matrice. In questo caso, la matrice contiene il nome dell'azione e le proprietà dei risultati degli errori.

Selezionare l'azione -

Ecco la definizione JSON per questa azione:

"Select_error_details": {
   "inputs": {
      "from": "@body('Find_failure_msg_from_''Try''_block')[0]['outputs']",
      "select": {
         "action": "@item()['name']",
         "errorResult": "@item()"
      }
   },
   "runAfter": {
      "Find_failure_msg_from_'Try'_block": [
         "Succeeded"
      ]
   },
   "type": "Select"
},

Successivamente, il flusso di lavoro arresta l'esecuzione dell'app per la logica e restituisce lo stato di esecuzione insieme ad altre informazioni sull'errore o sull'errore che si è verificato.

Terminare l'esecuzione dell'app per la logica

Questa azione Termina arresta l'esecuzione dell'app per la logica e restituisce Failed come stato per l'esecuzione dell'app per la logica insieme all'ID sessione e al risultato dell'errore dall'azioneSelect error details.

Terminare l'azione per arrestare l'esecuzione dell'app per la logica

Ecco la definizione JSON per questa azione:

"Terminate": {
   "description": "This Failure Termination only runs if the Close Session upon Failure action runs - otherwise the LA will be terminated as Success",
   "inputs": {
      "runError": {
         "code": "",
         "message": "There was an error processing messages for Session ID @{triggerBody()?['SessionId']}. The following error(s) occurred: @{body('Select_error_details')['errorResult']}"
         },
         "runStatus": "Failed"
      },
      "runAfter": {
         "Select_error_details": [
            "Succeeded"
         ]
      },
      "type": "Terminate"
   }
},

Salvare ed eseguire l'app per la logica

Dopo aver completato il modello, è ora possibile salvare l'app per la logica. Sulla barra degli strumenti della finestra di progettazione selezionare Salva.

Per testare l'app per la logica, inviare messaggi alla coda del bus di servizio.

Passaggi successivi