Condividi tramite


Inviare messaggi correlati in ordine usando una serie di istruzioni sequenziali in App per la logica di Azure con il bus di servizio di Azure

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

Quando è necessario inviare messaggi correlati in un ordine specifico, è possibile seguire il criterio della serie di istruzioni sequenziali durante l'utilizzo di App per la logica di Azure tramite il connettore del bus di servizio di Azure. I messaggi correlati presentano una proprietà che definisce la relazione tra di essi, ad esempio l'ID per la sessione nel bus di servizio.

Si supponga, ad esempio, di avere 10 messaggi per una sessione denominata "Sessione 1" e altri 5 per una sessione denominata "Sessione 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 quelli della "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.

Criterio serie di istruzioni sequenziali generale

Il presente articolo illustra come creare un'app per la logica che implementi questo criterio tramite il modello Recapito in ordine correlato usando il modello sessioni del bus di servizio. Tale 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 (blocco di visualizzazione), il quale riceve messaggi da una coda del bus di servizio. Ecco i passaggi generali che esegue questa app per la logica:

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

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

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

Per altre informazioni, consultare Criterio serie di istruzioni - Schemi progettuali 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, selezionare Criteri di accesso condivisi in Impostazioni. In Attestazioni controllare di avere le autorizzazioni di gestione per lo spazio dei nomi.

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

  3. Adesso, ottenere la stringa di connessione per lo spazio dei nomi del bus di servizio. È possibile utilizzare 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, in Criteri, 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.

Crea un'app per la logica

In questa sezione, viene creata un'app per la logica mediante 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 criterio 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 intende utilizzare.

  1. Nel portale di Azure creare un'app per la logica vuota. Nella pagina iniziale di Azure, selezionare Crea una risorsa>Integrazioni>App per la logica.

  2. Dopo aver visualizzato la raccolta dei modelli, scorrere oltre le sezioni dei video e dei trigger comuni. Nella sezione Modelli, scegliere il modello Recapito in ordine correlato usando il modello 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 finestra di progettazione di app per la logica, selezionare Continua e quindi scegliere il segno più (+) visualizzato nella forma.

    Per connettersi al bus di servizio di Azure, selezionare

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

    • Per utilizzare 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. Alla voce 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 della 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. Alla voce Nome connessione, specificare un nome per la connessione. Alla voce 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 scegliere Crea.

        Selezionare i criteri del bus di servizio e infine

  6. Al termine dell'operazione, scegliere Continua.

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

Ora è possibile ottenere altre informazioni sul trigger e sulle azioni nel modello oppure proseguire e fornire i valori per il modello di app per la logica.

Riepilogo modello

Di seguito è riportato il flusso di lavoro di primo livello nel modello Recapito in ordine correlato usando il modello sessioni del bus di servizio quando i dettagli sono compressi:

Flusso di lavoro di primo livello del modello

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

Il termine blocco di visualizzazione indica che il trigger invia una richiesta per recuperare un messaggio dalla coda. Se esiste un messaggio, il trigger lo recupera e lo blocca, in modo che nessun'altra elaborazione venga eseguita su quel messaggio fino alla scadenza del periodo di blocco. Per informazioni dettagliate, vedere 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 da leggere nella sessione.
- Per consentire all'istanza del flusso di lavoro corrente di terminare, il blocco della sessione non deve essere più rinnovato.

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 Try, l'azione Catch Ambito successiva gestisce il problema. Per altre informazioni, vedere Ambito "Prova".
Catch Questa azione Ambito contiene le azioni eseguite se si verifica un problema nell'ambito precedente Try. Per altre informazioni, vedere Ambito "Rileva".

Ambito "Prova"

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

Flusso di lavoro dell'azione ambito

Nome Descrizione
Send initial message to topic È possibile sostituire questa azione con qualsiasi altra con cui si desidera gestire il primo messaggio della 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 ramo parallelo crea due percorsi:

- Ramo 1: continua a elaborare il messaggio. Per altre informazioni, vedere Ramo 1: completa il messaggio iniziale nella coda.

- Ramo 2: abbandona il messaggio se si verifica un errore e lo rilascia per il prelievo da un'altra esecuzione del trigger. Per altre informazioni, vedere Ramo 2: abbandona il messaggio iniziale dalla coda.

Entrambi i percorsi vengono uniti più avanti nella sessione Chiudi una sessione in una coda con esito positivo, descritta nella riga successiva.

Close a session in a queue and succeed Questa azione del bus di servizio unisce i rami illustrati in precedenza e chiude la sessione nella coda al verificarsi di 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 problema.

Per informazioni dettagliate, vedere Chiudi una sessione in una coda con esito positivo.

Ramo 1: completa il messaggio iniziale nella coda

Nome Descrizione
Complete initial message in queue Questa azione del bus di servizio contrassegna come completo un messaggio recuperato correttamente e lo rimuove dalla coda per impedirne la rielaborazione. Per informazioni dettagliate, vedere Gestire il messaggio iniziale.
While there are more messages for the session in the queue Questo ciclo Fino a continua a ricevere messaggi finché ne esistono o non è trascorsa un'ora. Per altre informazioni sulle azioni in questo ciclo, vedere Anche se sono presenti altri messaggi per la sessione nella coda.
Set isDone = true Quando non esistono più messaggi, questa azione Imposta variabile configura isDone su true.
Renew session lock until cancelled Questo ciclo Fino a assicura che il blocco della sessione venga mantenuto da questa app per la logica finché esistono i messaggi o non è trascorsa un'ora. Per altre informazioni sulle azioni in questo ciclo, vedere Rinnova il blocco della sessione fino all'annullamento.

Ramo 2: abbandona il messaggio iniziale dalla coda

Se l'azione che gestisce il primo messaggio ha esito negativo, l'azione del bus di servizio Abbandona il messaggio iniziale dalla coda rilascia il messaggio affinché sia prelevato ed elaborato da un'altra istanza di flusso di lavoro. Per informazioni dettagliate, vedere Gestire il messaggio iniziale.

Ambito "Rileva"

Se le azioni nell'ambito Try hanno esito negativo, l'app per la logica deve comunque chiudere la sessione. L'Catchazione ambito viene eseguita quando l'azione ambito Try restituisce lo stato Failed, Skipped o 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 ambito Catch quando i dettagli vengono compressi:

Flusso di lavoro dell'azione 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 Chiudi una sessione in una coda con esito negativo.
Find failure msg from 'Try' block Questa azione Filtra matrice crea una matrice dagli input e dagli output di tutte le azioni all'interno dell'ambito Try, in base ai criteri specificati. In questo caso, questa azione restituisce gli output delle azioni che hanno generato lo stato Failed. Per informazioni dettagliate, vedere Trova messaggio di errore dal blocco 'Prova'.
Select error details Questa azione Seleziona crea una matrice che contiene oggetti JSON in base ai criteri specificati. Questi oggetti JSON vengono compilati dai valori nella 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 Seleziona dettagli 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'azione Select 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 Recapito in ordine correlato usando il modello sessioni del bus di servizio, seguire questa procedura. Prima di poter salvare l'app per la logica, è necessario specificare tutti i valori obbligatori, contrassegnati da un asterisco (*).

Inizializzare la sessione

  • Per il trigger Quando un messaggio viene ricevuto in una coda (blocco di visualizzazione), fornire 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 non comporti costi di fatturazione inaspettati. Idealmente, impostare l'intervallo e la frequenza su 30 secondi, in modo che l'app per la logica venga attivata immediatamente all'arrivo di un messaggio.

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

    Di seguito sono riportate ulteriori informazioni sulle altre opzioni ID sessione:

    - Nessuno: l'opzione predefinita, che non comporta sessioni e non può essere utilizzata per implementare il criterio della serie di istruzioni sequenziali.

    - Immetti il valore personalizzato: utilizzare questa opzione quando si conosce l'ID sessione da usare e si vuole sempre eseguire il trigger per tale ID sessione.

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

    Intervallo <numero-di-intervalli> Numero di unità di tempo che intercorrono tra le ricorrenze prima di verificare la presenza di un messaggio.
    Frequenza Secondo, Minuto, Ora, Giorno, Settimana o Mese Unità di tempo per la ricorrenza da utilizzare 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 (blocco di visualizzazione). Il trigger restituisce un oggetto ServiceBusMessage.

Dopo l'inizializzazione della sessione, il flusso di lavoro utilizza l'azione Inizializza variabile per creare una variabile booleana impostata inizialmente su false e indica quando vengono soddisfatte le condizioni seguenti:

  • Non sono disponibili altri messaggi da leggere nella sessione.

  • Per consentire all'istanza del flusso di lavoro corrente di terminare, il blocco della sessione non deve essere più rinnovato.

Dettagli dell'azione

Successivamente, nel blocco Prova, il flusso di lavoro esegue le 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 con cui si desidera gestire il primo messaggio della sessione nella coda. L'ID sessione specifica la sessione da cui ha avuto 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 di questo modello usano lo stesso valore di ID sessione.

Dettagli dell'azione del bus di servizio per

  1. Nell'azione bus di servizio, Completa il messaggio iniziale nella coda, specificare il nome della coda del bus di servizio e mantenere tutti gli altri valori della proprietà predefinita nell'azione.

    Dettagli dell'azione del bus di servizio per

  2. Nell'azione del bus di servizio Abbandona il messaggio iniziale dalla coda, specificare il nome della coda del bus di servizio e mantenere tutti gli altri valori della proprietà predefinita nell'azione.

    Dettagli dell'azione del bus di servizio relativi a

Verranno quindi fornite le informazioni necessarie per le azioni che seguono Completa il messaggio iniziale nella coda. Si inizierà dalle azioni presenti in Anche se sono presenti altri messaggi per la sessione nella coda.

Anche se sono presenti altri messaggi per la sessione nella coda

Questo ciclo Fino a esegue queste azioni finché esistono messaggi nella coda o non è trascorsa un'ora. Per modificare il limite di tempo del ciclo, cambiare il valore della proprietà Timeout del ciclo.

  • Ottenere messaggi aggiuntivi dalla coda finché sono presenti messaggi.

  • Controllare il numero di messaggi rimanenti. Se i messaggi sono ancora presenti, proseguire con la relativa elaborazione. Se non esistono altri messaggi, il flusso di lavoro imposta la variabile isDone su truee chiude il ciclo.

Ciclo Fino a: elabora i messaggi nella coda

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

    Nota

    Per impostazione predefinita, il numero massimo di messaggi è impostato su 175, ma tale limite è influenzato dalle dimensioni del messaggio e dalla proprietà delle dimensioni massime del messaggio nel bus di servizio. Per altre informazioni, vedere Dimensioni del messaggio per una coda.

    Azione del bus di servizio :

    Successivamente, il flusso di lavoro viene suddiviso in questi rami paralleli:

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

    • La condizione Elabora i messaggi se presenti controlla se il numero di messaggi rimanenti è pari a zero. Se il valore è false e sono presenti altri messaggi, continua l'elaborazione. Se il valore è true e non esistono altri messaggi, il flusso di lavoro imposta la variabile isDone su true.

    Condizione: elabora i messaggi se presenti

    Nella sezione If false, un ciclo Per ogni elabora ogni messaggio in base all'ordine FIFO (First-In, First-Out). Nelle Impostazioni del ciclo, quella relativa a Controllo della concorrenza è impostata su 1, quindi viene elaborato un solo messaggio alla volta.

    Ciclo

  2. Per le azioni del bus di servizio Completa il messaggio in una coda e Abbandona il messaggio in una coda, specificare il nome della coda del bus di servizio.

    Azioni del bus di servizio :

    Al termine di Anche se sono presenti altri messaggi per la sessione nella coda, il flusso di lavoro imposta la variabile isDone su true.

Successivamente, l'utente fornirà le informazioni necessarie per le azioni nel ciclo Rinnova il blocco della sessione fino all'annullamento.

Rinnova il blocco della sessione fino all'annullamento

Questo ciclo Fino a assicura che il blocco della sessione venga mantenuto da questa app per la logica finché esistono i messaggi nella coda o non è trascorsa un'ora durante l'esecuzione di queste azioni. Per modificare il limite di tempo del ciclo, cambiare il valore della proprietà Timeout del ciclo.

  • Ritardo di 25 secondi o un tempo inferiore alla durata del timeout blocco per la coda in fase di elaborazione. La durata minima del blocco è di 30 secondi, quindi il valore predefinito è sufficiente. Tuttavia, è possibile ottimizzare il numero di esecuzioni del ciclo apportando le modifiche adeguate.

  • Controllare se la variabile isDone è impostata su true.

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

      È necessario specificare il nome della coda del bus di servizio nell'azione del bus di servizio Rinnova il blocco sulla sessione in una coda.

    • Se isDone è impostato su true, il flusso di lavoro non rinnova il blocco sulla sessione in una coda ed esce dal ciclo.

    Ciclo Fino a:

Rinnova il blocco sulla sessione in una coda

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

  • Nell'azione del bus di servizio Rinnova il blocco sulla sessione in una coda, specificare il nome della coda del bus di servizio.

    Azione del bus di servizio -

Verranno quindi fornite le informazioni necessarie per l'azione del bus di servizio, Chiudi una sessione in una coda con esito positivo.

Chiudi una sessione in una coda con esito positivo

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

  • Nell'azione del bus di servizio Chiudi una sessione in una coda con esito positivo, assegnare il nome alla coda del bus di servizio.

    Azione del bus di servizio:

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

Chiudi una sessione in una coda con esito negativo

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 Chiudi una sessione in una coda con esito negativo, assegnare il nome alla coda del bus di servizio.

    Azione del bus di servizio :

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

Trova messaggio di errore dal blocco 'Prova'

Questa azione Filtra matrice crea una matrice dagli input e dagli output di 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 lo stato Failed, usando la funzione equals() e item() .

Azione Filtra 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"
},

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

Seleziona dettagli errore

Questa azione Seleziona 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 ciascun oggetto nella matrice. In questo caso, la matrice contiene il nome dell'azione e le proprietà del risultato dell'errore.

Azione di selezione:

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 sul guasto verificatosi.

Termina 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 dell'azione Select error details.

Termina 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"
   }
},

Salva ed esegui 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 seleziona Salva.

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

Passaggi successivi