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.
Clonare il repository azure-service-bus di GitHub o scaricare il file ZIP ed estrarre i file da esso.
In Visual Studio passare alla cartella \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 e quindi aprire il file SBEventGridIntegration.sln .
Nella finestra Esplora soluzioni espandere il progetto MessageSender e selezionare Program.cs.
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>";
Compilare ed eseguire il programma per inviare 5 messaggi di test (
const int numberOfMessages = 5;
) all'argomento del bus di servizio.
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.
Selezionare + Crea una risorsa, selezionare Integrazione e quindi App per la logica.
Nella pagina Crea app per la logica seguire questa procedura:
- Selezionare la sottoscrizione di Azure.
- 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.
- Immettere un nome per l'app per la logica.
- Selezionare l'area per l'app per la logica.
- Per Tipo di piano selezionare Consumo.
- Selezionare Rivedi e crea.
- Nella pagina Rivedi e crea selezionare Crea per creare l'app per la logica.
Nella pagina Distribuzione completata selezionare Vai alla risorsa per passare alla pagina App per la logica.
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
Nella pagina App per la logica selezionare Progettazione app per la logica nel menu a sinistra.
Nel riquadro destro, in Modelli selezionare App per la logica vuota.
Nella finestra di progettazione seguire questa procedura:
Cercare Griglia di eventi.
Selezionare Quando si verifica un evento della risorsa - Griglia di eventi di Azure.
Fare clic su Accedi.
Nella pagina Accedi all'account selezionare l'account che si vuole usare per accedere ad Azure. 1.
Nella pagina Quando si verifica un evento della risorsa seguire questa procedura:
Seleziona la tua sottoscrizione di Azure.
Per Tipo di risorsa, selezionare Microsoft.ServiceBus.Namespaces.
Per Nome risorsa selezionare lo spazio dei nomi del bus di servizio.
Selezionare Aggiungi nuovo parametro, selezionare Filtro suffisso e quindi spostare lo stato attivo all'esterno dell'elenco a discesa.
Per Filtro suffisso immettere il nome della sottoscrizione dell'argomento bus di servizio.
Selezionare + Nuovo passaggio nella finestra di progettazione e seguire la procedura seguente:
Cercare Bus di servizio.
Selezionare Bus di servizio nell'elenco.
Selezionare Recupera messaggi nell'elenco Azioni.
Selezionare Recupera i messaggi dalla sottoscrizione dell'argomento (blocco visualizzazione).
Seguire questa procedura:
Immettere un nome per la connessione. Ad esempio: ottenere messaggi dalla sottoscrizione dell'argomento.
Verificare che tipo di autenticazione sia impostato su Chiave di accesso.
Per Connessione ion String copiare e incollare il stringa di connessione nello spazio dei nomi bus di servizio salvato in precedenza.
Seleziona Crea.
Selezionare l'argomento e la sottoscrizione.
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
Selezionare + Nuovo passaggio.
Cercare e quindi selezionare Controllo.
Nell'elenco Azioni selezionare Per ogni.
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).
Aggiungere un passaggio all'interno del ciclo foreach per inviare un messaggio di posta elettronica con il corpo del messaggio
In Ciclo For Each selezionare Aggiungi un'azione.
Nella casella di testo Cerca connettori e azioni immettere Office 365.
Selezionare Office 365 Outlook nei risultati della ricerca.
Nell'elenco delle azioni selezionare Invia un messaggio di posta elettronica (V2).
Selezionare Accedi e seguire i passaggi per creare una connessione a Office 365 Outlook.
Nella finestra Invia un messaggio di posta elettronica (V2) seguire questa procedura:
Selezionare all'interno della casella di testo corpo e seguire questa procedura:
Per A, immettere un indirizzo di posta elettronica.
Per Oggetto immettere Messaggio ricevuto dalla sottoscrizione di bus di servizio argomento.
Passare a Espressione.
Immettere l'espressione seguente:
base64ToString(items('For_each')?['ContentData'])
Seleziona OK.
Aggiungere un'altra azione nel ciclo foreach per completare il messaggio
In Ciclo For Each selezionare Aggiungi un'azione.
Selezionare bus di servizio nell'elenco Recenti.
Selezionare Completa il messaggio in una sottoscrizione dell'argomento nell'elenco di azioni.
Selezionare l'argomento del bus di servizio.
Selezionare una sottoscrizione per l'argomento.
Per Token di blocco del messaggio selezionare Token di blocco in Contenuto dinamico.
Per salvare le app per la logica, selezionare Salva sulla barra degli strumenti di Progettazione app per la logica.
Testare l'app
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.
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.
Selezionare un'esecuzione dell'app per la logica per vedere i dettagli. Si noti che sono stati elaborati 5 messaggi nel ciclo For.
Dovrebbe essere visualizzato un messaggio di posta elettronica per ogni messaggio ricevuto dall'app per la logica.
Risoluzione dei problemi
Se dopo aver atteso qualche minuto e aggiornato la pagina non vengono visualizzate chiamate, seguire questa procedura:
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.
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.
Vengono inoltre visualizzati gli eventi recapitati nella pagina Eventi dello spazio dei nomi del bus di servizio.
È 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.
Passaggi successivi
- Altre informazioni su Griglia di eventi di Azure.
- Scopri di più sulle funzioni di Azure.
- Altre informazioni sulla funzionalità App per la logica del Servizio app di Azure.
- Altre informazioni sul bus di servizio di Azure.