Esercitazione: Rispondere agli eventi bus di servizio di Azure ricevuti tramite Griglia di eventi di Azure usando App per la logica di Azure

Questa esercitazione descrive come rispondere agli eventi del bus di servizio di Azure ricevuti tramite Griglia di eventi di Azure usando App per la logica di Azure.

Prerequisiti

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Creare uno spazio dei nomi del bus di servizio

Seguire le istruzioni in questa esercitazione: Guida introduttiva: Usare il portale di Azure per creare un argomento e sottoscrizioni bus di servizio all'argomento per eseguire le attività seguenti:

  • Creare uno spazio dei nomi del bus di servizio Premium.
  • Ottenere la stringa di connessione.
  • Creare un argomento del bus di servizio.
  • Creare una sottoscrizione dell'argomento. Per questa esercitazione è richiesta una sola sottoscrizione, quindi non è necessario creare sottoscrizioni S2 e S3.

Inviare messaggi all'argomento del bus di servizio

In questo passaggio si usa un'applicazione di esempio per inviare messaggi all'argomento del bus di servizio creato nel passaggio precedente.

  1. Clonare il repository azure-service-bus di GitHub o scaricare il file ZIP ed estrarre i file da esso.

  2. In Visual Studio passare alla cartella \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 e quindi aprire il file SBEventGridIntegration.sln .

  3. Nella finestra Esplora soluzioni espandere il progetto MessageSender e selezionare Program.cs.

  4. Sostituire <SERVICE BUS NAMESPACE - CONNECTION STRING> con la stringa di connessione allo spazio dei nomi del bus di servizio e <TOPIC NAME> con il nome dell'argomento.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Compilare ed eseguire il programma per inviare 5 messaggi di test (const int numberOfMessages = 5;) all'argomento del bus di servizio.

    Output dell'app console

Ricevere messaggi usando App per la logica

In questo passaggio si crea un'app per la logica di Azure che riceve gli eventi del bus di servizio tramite Griglia di eventi di Azure.

  1. Selezionare + Crea una risorsa, selezionare Integrazione e quindi App per la logica.

    Screenshot che mostra il menu Crea una risorsa -> Integrazione -> App per la logica.

  2. Nella pagina Crea app per la logica seguire questa procedura:

    1. Selezionare la sottoscrizione di Azure.
    2. Selezionare Usa esistente per Gruppo di risorse e selezionare il gruppo di risorse usato per le altre risorse create in precedenza, ad esempio funzione di Azure o spazio dei nomi del bus di servizio.
    3. Immettere un nome per l'app per la logica.
    4. Selezionare l'area per l'app per la logica.
    5. Per Tipo di piano selezionare Consumo.
    6. Selezionare Rivedi e crea. Screenshot che mostra la pagina Crea un'app per la logica.
    7. Nella pagina Rivedi e crea selezionare Crea per creare l'app per la logica.
  3. Nella pagina Distribuzione completata selezionare Vai alla risorsa per passare alla pagina App per la logica.

  4. Nella pagina Progettazione app per la logica selezionare App per la logica vuota in Modelli.

Aggiungere un passaggio per ricevere messaggi da bus di servizio tramite Griglia di eventi

  1. Nella pagina App per la logica selezionare Progettazione app per la logica nel menu a sinistra.

  2. Nel riquadro destro, in Modelli selezionare App per la logica vuota.

    Screenshot che mostra la pagina Progettazione app per la logica con l'opzione App per la logica vuota selezionata.

  3. Nella finestra di progettazione seguire questa procedura:

    1. Cercare Griglia di eventi.

    2. Selezionare Quando si verifica un evento della risorsa - Griglia di eventi di Azure.

      Screenshot che mostra la finestra di progettazione di App per la logica con il trigger griglia di eventi selezionato.

  4. Fare clic su Accedi.

    Screenshot che mostra Progettazione app per la logica con il pulsante Accedi selezionato.

  5. Nella pagina Accedi all'account selezionare l'account che si vuole usare per accedere ad Azure. 1.

  6. Nella pagina Quando si verifica un evento della risorsa seguire questa procedura:

    1. Seleziona la tua sottoscrizione di Azure.

    2. Per Tipo di risorsa, selezionare Microsoft.ServiceBus.Namespaces.

    3. Per Nome risorsa selezionare lo spazio dei nomi del bus di servizio.

    4. Selezionare Aggiungi nuovo parametro, selezionare Filtro suffisso e quindi spostare lo stato attivo all'esterno dell'elenco a discesa.

      Screenshot che mostra l'aggiunta di un nuovo parametro di tipo Filtro suffisso.

    5. Per Filtro suffisso immettere il nome della sottoscrizione dell'argomento bus di servizio.

      Screenshot che mostra progettazione app per la logica con configurazione di connessione per lo spazio dei nomi bus di servizio.

  7. Selezionare + Nuovo passaggio nella finestra di progettazione e seguire la procedura seguente:

    1. Cercare Bus di servizio.

    2. Selezionare Bus di servizio nell'elenco.

      Screenshot che mostra la selezione di bus di servizio.

    3. Selezionare Recupera messaggi nell'elenco Azioni.

    4. Selezionare Recupera i messaggi dalla sottoscrizione dell'argomento (blocco visualizzazione).

      Screenshot che mostra progettazione app per la logica con l'opzione Recupera messaggi da una sottoscrizione di argomento selezionata.

    5. Seguire questa procedura:

      1. Immettere un nome per la connessione. Ad esempio: ottenere messaggi dalla sottoscrizione dell'argomento.

      2. Verificare che tipo di autenticazione sia impostato su Chiave di accesso.

      3. Per Connessione ion String copiare e incollare il stringa di connessione nello spazio dei nomi bus di servizio salvato in precedenza.

      4. Seleziona Crea.

        Screenshot che mostra progettazione app per la logica con il bus di servizio stringa di connessione specificato.

    6. Selezionare l'argomento e la sottoscrizione.

      Screenshot che mostra Progettazione app per la logica con l'argomento bus di servizio e la sottoscrizione specificati.

Aggiungere un passaggio per elaborare e completare i messaggi ricevuti

In questo passaggio si aggiungono i passaggi per inviare il messaggio ricevuto in un messaggio di posta elettronica e quindi completare il messaggio. In uno scenario reale, si elabora un messaggio nell'app per la logica prima di completare il messaggio.

Aggiungere un ciclo foreach

  1. Selezionare + Nuovo passaggio.

  2. Cercare e quindi selezionare Controllo.

    Screenshot che mostra la categoria Control.

  3. Nell'elenco Azioni selezionare Per ogni.

    Screenshot che mostra l'operazione For-each selezionata.

  4. Per Selezionare un output dei passaggi precedenti (fare clic all'interno della casella di testo, se necessario), selezionare Corpo in Recupera messaggi da una sottoscrizione dell'argomento (peek-lock).For Select an output from previous steps (click inside text box if needed), select Body under Get messages from a topic subscription (peek-lock).

    Screenshot che mostra la selezione di Per ogni input.

Aggiungere un passaggio all'interno del ciclo foreach per inviare un messaggio di posta elettronica con il corpo del messaggio

  1. In Ciclo For Each selezionare Aggiungi un'azione.

    Screenshot che mostra la selezione del pulsante Aggiungi un'azione nel ciclo For-each.

  2. Nella casella di testo Cerca connettori e azioni immettere Office 365.

  3. Selezionare Office 365 Outlook nei risultati della ricerca.

    Screenshot che mostra la selezione di Office 365.

  4. Nell'elenco delle azioni selezionare Invia un messaggio di posta elettronica (V2).

    Screenshot che mostra la selezione di Invia un'operazione di posta elettronica.

  5. Selezionare Accedi e seguire i passaggi per creare una connessione a Office 365 Outlook.

  6. Nella finestra Invia un messaggio di posta elettronica (V2) seguire questa procedura:

  7. Selezionare all'interno della casella di testo corpo e seguire questa procedura:

    1. Per A, immettere un indirizzo di posta elettronica.

    2. Per Oggetto immettere Messaggio ricevuto dalla sottoscrizione di bus di servizio argomento.

    3. Passare a Espressione.

    4. Immettere l'espressione seguente:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Seleziona OK.

      Screenshot che mostra l'espressione per Corpo dell'attività Invia un messaggio di posta elettronica.

Aggiungere un'altra azione nel ciclo foreach per completare il messaggio

  1. In Ciclo For Each selezionare Aggiungi un'azione.

    1. Selezionare bus di servizio nell'elenco Recenti.

    2. Selezionare Completa il messaggio in una sottoscrizione dell'argomento nell'elenco di azioni.

      Screenshot che mostra la selezione di Completare un messaggio in una sottoscrizione di un argomento.

    3. Selezionare l'argomento del bus di servizio.

    4. Selezionare una sottoscrizione per l'argomento.

    5. Per Token di blocco del messaggio selezionare Token di blocco in Contenuto dinamico.

      Screenshot che mostra il campo del token di blocco.

  2. Per salvare le app per la logica, selezionare Salva sulla barra degli strumenti di Progettazione app per la logica.

    Screenshot che mostra il pulsante Salva nell'app per la logica progettata.

Testare l'app

  1. Se non sono stati ancora inviati messaggi di test all'argomento, inviarli seguendo le istruzioni riportate nella sezione Inviare messaggi all'argomento del bus di servizio.

  2. Passare alla pagina Panoramica dell'app per la logica e quindi passare alla scheda Cronologia esecuzioni nel riquadro inferiore. L'app per la logica esegue messaggi inviati all'argomento. Possono essere necessari alcuni minuti prima che venga visualizzata l'app per la logica in esecuzione. Selezionare Aggiorna sulla barra degli strumenti per aggiornare la pagina.

    Screenshot che mostra la cronologia di esecuzione dell'app per la logica.

  3. Selezionare un'esecuzione dell'app per la logica per vedere i dettagli. Si noti che sono stati elaborati 5 messaggi nel ciclo For.

    Screenshot che mostra i dettagli per l'esecuzione dell'app per la logica selezionata.

  4. Dovrebbe essere visualizzato un messaggio di posta elettronica per ogni messaggio ricevuto dall'app per la logica.

    Screenshot di Outlook con i messaggi ricevuti dalla sottoscrizione degli argomenti.

Risoluzione dei problemi

Se dopo aver atteso qualche minuto e aggiornato la pagina non vengono visualizzate chiamate, seguire questa procedura:

  1. Verificare che il messaggio abbia raggiunto l'argomento del bus di servizio. Vedere il contatore di messaggi in ingresso nella pagina Argomento del bus di servizio. In questo caso, è stata eseguita l'applicazione MessageSender una sola volta, quindi vengono visualizzati 5 messaggi.

    Screenshot che mostra la pagina argomento bus di servizio con il numero di messaggi in arrivo selezionato.

  2. Verificare che nella sottoscrizione del bus di servizio non siano presenti messaggi attivi. Se in questa pagina non vengono visualizzati eventi, verificare che la pagina Sottoscrizione del bus di servizio non contenga valori in Numero di messaggi attivi. Se il numero di questo contatore è maggiore di zero, significa che per qualche motivo i messaggi nella sottoscrizione non vengono inoltrati alla funzione del gestore di sottoscrizione di eventi. Verificare di aver configurato correttamente la sottoscrizione di eventi.

    Screenshot che mostra la pagina bus di servizio Sottoscrizione con il numero di messaggi attivo selezionato.

  3. Vengono inoltre visualizzati gli eventi recapitati nella pagina Eventi dello spazio dei nomi del bus di servizio.

    Screenshot che mostra la pagina Eventi della pagina spazio dei nomi bus di servizio.

  4. È anche possibile verificare che gli eventi siano stati recapitati nella pagina Sottoscrizione di eventi. Per aprire questa pagina, selezionare la sottoscrizione di eventi nella pagina Eventi.

    Screenshot che mostra la pagina Sottoscrizione eventi con il numero di eventi recapitato selezionato.

Passaggi successivi