Guida introduttiva: Sottoscrivere eventi Servizi di comunicazione di Azure
In questa guida introduttiva si apprenderà come sottoscrivere eventi da Servizi di comunicazione di Azure tramite il portale, l'interfaccia della riga di comando di Azure, PowerShell e .NET SDK.
È possibile configurare sottoscrizioni di eventi per le risorse di Servizi di comunicazione tramite portale di Azure o l'interfaccia della riga di comando di Azure, PowerShell o con Azure Event Grid Management SDK.
Per questa guida introduttiva viene illustrato il processo di configurazione del webhook come sottoscrittore per gli eventi SMS da Servizi di comunicazione di Azure. Per un elenco completo degli eventi, vedere questa pagina.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Risorsa Servizi di comunicazione di Azure.
- Creare un webhook per ricevere eventi. Recapito di eventi webhook.
Registrare il provider di risorse di Griglia di eventi
Questo articolo descrive come registrare il provider di risorse di Griglia di eventi. Se prima è stata usata Griglia di eventi nella stessa sottoscrizione, passare alla sezione successiva.
Nella portale di Azure seguire questa procedura:
Nel menu a sinistra selezionare Sottoscrizioni.
Selezionare la sottoscrizione da usare per Griglia di eventi dall'elenco delle sottoscrizioni.
Nella pagina Sottoscrizione selezionare Provider di risorse in Impostazioni nel menu a sinistra.
Cercare Microsoft.EventGrid e verificare che lo stato non sia registrato.
Selezionare Microsoft.EventGrid nell'elenco dei provider.
Selezionare Registra sulla barra dei comandi.
Aggiornare per assicurarsi che lo stato di Microsoft.EventGrid sia cambiato in Registrato.
Crea sottoscrizione di eventi
Per creare una sottoscrizione di eventi per Servizi di comunicazione di Azure, seguire questa procedura. Questo articolo illustra come creare una sottoscrizione di eventi per Servizi di comunicazione di Azure ricevere eventi tramite webhook.
Per creare una sottoscrizione di eventi per Servizi di comunicazione di Azure risorsa, accedere prima al portale di Azure. Nell'angolo superiore sinistro della pagina selezionare la risorsa Servizi di comunicazione.
- Selezionare la scheda Eventi nel menu a sinistra.
- Selezionare + Sottoscrizione eventi.
- Nella pagina Crea sottoscrizione di eventi procedere come segue:
Immettere un nome per la sottoscrizione di eventi.
Immettere un nome per il nome dell'argomento di sistema.
Selezionare i tipi di evento che si desidera ricevere nella sottoscrizione di eventi.
Per altre informazioni sugli eventi di Servizi di comunicazione, vedere Eventi di Servizi di comunicazione
Selezionare Il tipo di endpoint come Web Hook.
Selezionare Configura un endpoint
Immettere il collegamento al webhook e selezionare Conferma selezione.
Nella scheda Filtri aggiungere i nomi dei tipi di evento da filtrare nella sottoscrizione e aggiungere i filtri degli attributi di contesto da usare nella sottoscrizione. Selezionare quindi Avanti: Funzionalità aggiuntive nella parte inferiore della pagina.
Per abilitare l'inserimento nella coda di messaggi non recapitabili e personalizzare i criteri di ripetizione dei tentativi, selezionare Funzionalità aggiuntive.
Al termine, scegliere Crea.
Aggiornare la sottoscrizione di eventi
Per aggiornare una sottoscrizione di eventi per Servizi di comunicazione di Azure, seguire questa procedura. Questa sezione illustra come aggiornare una sottoscrizione di eventi per Servizi di comunicazione di Azure per aggiornare gli eventi che si desidera ricevere tramite webhook.
Per aggiornare una sottoscrizione di eventi per Servizi di comunicazione di Azure risorsa, accedere prima al portale di Azure. Nell'angolo superiore sinistro della pagina selezionare la risorsa Servizi di comunicazione.
Selezionare la scheda Eventi nel menu a sinistra.
Selezionare le sottoscrizioni di eventi e selezionare la sottoscrizione di eventi da aggiornare.
Nella pagina Sottoscrizione eventi selezionare la scheda Filtri. Selezionare i tipi di evento che si desidera ricevere nella sottoscrizione di eventi.
Per abilitare l'inserimento nella coda di messaggi non recapitabili e personalizzare i criteri di ripetizione dei tentativi, selezionare Funzionalità aggiuntive.
Per aggiornare il webhook per ricevere gli eventi, selezionare Cambia accanto al collegamento webhook e immettere il nuovo endpoint webhook.
Eliminare la sottoscrizione di eventi
Per eliminare una sottoscrizione di eventi per Servizi di comunicazione di Azure, seguire questa procedura.
Per eliminare una sottoscrizione di eventi per Servizi di comunicazione di Azure risorsa, accedere prima al portale di Azure. Nell'angolo superiore sinistro della pagina selezionare la risorsa Servizi di comunicazione.
Selezionare la scheda Eventi nel menu a sinistra.
Selezionare Sottoscrizioni di eventi e selezionare la sottoscrizione di eventi da eliminare.
Nella pagina Sottoscrizione di eventi selezionare il pulsante Elimina nella parte superiore.
Passaggi successivi
- Per un elenco degli eventi di Servizi di comunicazione, vedere Eventi di Servizi di comunicazione.
- Per un elenco dei gestori eventi supportati, vedere Gestori eventi.
- Per informazioni sul recapito di eventi e sui nuovi tentativi, vedere Recapito di messaggi di Griglia di eventi e nuovi tentativi.
- Per un'introduzione a Griglia di eventi, vedere Informazioni su Griglia di eventi.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Installare l' interfaccia della riga di comando di Azure
- Una risorsa Servizi di comunicazione di Azure
- Creare un webhook per ricevere eventi. Recapito di eventi webhook
Registrare il provider di risorse di Griglia di eventi
Questo articolo descrive come registrare il provider di risorse di Griglia di eventi. Se prima è stata usata Griglia di eventi nella stessa sottoscrizione, passare alla sezione successiva.
Eseguire il comando seguente per registrare il provider:
az provider register --namespace Microsoft.EventGrid
La registrazione può richiedere qualche secondo. Per controllare lo stato, eseguire il comando seguente:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Quando
registrationState
èRegistered
, è possibile continuare.
Crea sottoscrizione di eventi
Per creare sottoscrizioni di eventi per Servizi di comunicazione di Azure risorsa, accedere all'interfaccia della riga di comando di Azure. È possibile accedere eseguendo il az login
comando dal terminale e specificando le credenziali. Eseguire il comando seguente per creare la sottoscrizione di eventi per la risorsa:
Per creare una sottoscrizione di eventi usando l'interfaccia della riga di comando di Azure, usare il az eventgrid event-subscription create
comando .
az eventgrid event-subscription create
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
--included-event-types Microsoft.Communication.SMSReceived Microsoft.Communication.SMSDeliveryReportReceived
--endpoint-type webhook
--endpoint https://azureeventgridviewer.azurewebsites.net/api/updates
Per un elenco degli eventi di Servizi di comunicazione, vedere Eventi di Servizi di comunicazione.
Elencare le sottoscrizioni di eventi
Per elencare tutte le sottoscrizioni di eventi esistenti configurate per una risorsa Servizi di comunicazione di Azure usando l'interfaccia della riga di comando di Azure, usare il az eventgrid event-subscription list
comando .
az eventgrid event-subscription list
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Aggiornare la sottoscrizione di eventi
Per aggiornare una sottoscrizione di eventi esistente usando l'interfaccia della riga di comando di Azure, usare il az eventgrid event-subscription update
comando .
az eventgrid event-subscription update
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
--included-event-types Microsoft.Communication.SMSReceived Microsoft.Communication.SMSDeliveryReportReceived Microsoft.Communication.ChatMessageReceived
--endpoint-type webhook
--endpoint https://azureeventgridviewer.azurewebsites.net/api/updates
Eliminare la sottoscrizione di eventi
Per eliminare una sottoscrizione di eventi esistente usando l'interfaccia della riga di comando di Azure, usare il az eventgrid event-subscription delete
comando .
az eventgrid event-subscription delete
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Passaggi successivi
- Per informazioni su altri comandi, vedere Griglia di eventi di Azure'interfaccia della riga di comando.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Versione più recente di .NET Core SDK per il sistema operativo.
- Ottenere la versione più recente di .NET Microsoft Griglia di eventi di Azure Management SDK.
- Ottenere la versione più recente della libreria di identità di Azure.
- Risorsa Servizi di comunicazione di Azure.
Registrare il provider di risorse di Griglia di eventi
Questo articolo descrive come registrare il provider di risorse di Griglia di eventi. Se prima è stata usata Griglia di eventi nella stessa sottoscrizione, passare alla sezione successiva.
Nella portale di Azure seguire questa procedura:
Nel menu a sinistra selezionare Sottoscrizioni.
Selezionare la sottoscrizione da usare per Griglia di eventi dall'elenco delle sottoscrizioni.
Nella pagina Sottoscrizione selezionare Provider di risorse in Impostazioni nel menu a sinistra.
Cercare Microsoft.EventGrid e verificare che lo stato non sia registrato.
Selezionare Microsoft.EventGrid nell'elenco dei provider.
Selezionare Registra sulla barra dei comandi.
Aggiornare per assicurarsi che lo stato di Microsoft.EventGrid sia cambiato in Registrato.
Installazione dell'SDK
Installare prima di tutto la libreria microsoft Griglia di eventi di Azure Management per .NET con NuGet:
dotnet add package Azure.ResourceManager.EventGrid;
Includere Event Grid Management SDK nel progetto C#:
using Microsoft.Azure.Management.EventGrid;
using Microsoft.Azure.Management.EventGrid.Models;
Autenticazione con la libreria di identità di Azure
Prerequisiti:
- Creare un'applicazione Microsoft Entra e un'entità servizio e configurare un segreto client o un certificato attendibile rilasciato dall'autorità di certificazione seguendo le istruzioni riportate qui.
- Archiviare il segreto o il certificato nell'insieme di credenziali delle chiavi di Azure.
- Concedere al collaboratore o al proprietario l'accesso alla sottoscrizione a tale applicazione seguendo le istruzioni riportate qui.
- Altre informazioni sull'autorizzazione dell'accesso alle risorse di Griglia di eventi sono disponibili qui.
La libreria di identità di Azure fornisce il supporto per l'autenticazione token di Microsoft Entra ID (in precedenza Azure Active Directory) in Azure SDK. Fornisce un set di implementazioni di TokenCredential, che possono essere usate per costruire client Azure SDK che supportano l'autenticazione del token Microsoft Entra. Per altre informazioni, leggere qui.
- Includere la libreria client di Identità di Azure per .NET con NuGet:
dotnet add package Azure.Identity;
dotnet add package Azure.Security.KeyVault.Secrets
- Includere la libreria di identità di Azure nel progetto C#
using Microsoft.Azure.Identity;
using Azure.Security.KeyVault.Secrets
È possibile passare le credenziali segrete o le credenziali del certificato per ottenere il token di accesso, in base alla configurazione dell'entità servizio.
Ottenere il token di accesso usando le credenziali segrete
Per ottenere le credenziali segrete, è necessario leggerlo dall'insieme di credenziali delle chiavi creato in Prerequisito 2 usando SecretClient.
// Authenticate the Keyvault client with DefaultAzureCredential and get the secret. SecretClient secretClient = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential()); string clientSecret = await secretClient.GetSecretAsync(secretName).Value; // Get access token using secret credentials string[] scopes = { "https://management.azure.com/.default" }; var application = ConfidentialClientApplicationBuilder .Create('your-servicePrincipal-appId') .WithAuthority(authorityUri: new Uri(authority), validateAuthority: true) .WithTenantId('your-tenant_id') .WithClientSecret(clientSecret) .Build(); var token = await application .AcquireTokenForClient(scopes) .ExecuteAsync();
Ottenere il token di accesso usando le credenziali del certificato
Per ottenere le credenziali del certificato, è necessario leggerlo dall'insieme di credenziali delle chiavi creato in Prerequisito 2 usando CertificateClient.
Altre informazioni sull'autorità di configurazione dell'applicazione Microsoft Entra sono disponibili qui
// Authenticate the certificate client with DefaultAzureCredential and get the certificate. CertificateClient certificateClient = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential()); X509Certificat2 cert = await certificateClient.DownloadCertificateAsync(certificateName); // Get access token using certificate credentials string[] scopes = { "https://management.azure.com/.default" }; string authority = "https://login.microsoftonline.com/<tenant>/"; var application = ConfidentialClientApplicationBuilder .Create('<servicePrincipal-appId>') .WithAuthority(authorityUri: new Uri(authority), validateAuthority: true) .WithTenantId("<tenantId>") .WithCertificate(cert) .Build(); var token = await application .AcquireTokenForClient(scopes) .WithSendX5C(true) .ExecuteAsync();
Autenticare EventGridManagementClient con token di accesso usando credenziali del segreto o del certificato
// Authenticate EventGridManagementClient with Microsoft Entra ID access token credential
eventGridClient = new EventGridManagementClient(new Uri("https://management.azure.com/"),
new TokenCredentials(token.AccessToken));
eventGridClient.SubscriptionId = 'your_subscripiton_id';
Crea sottoscrizione di eventi
Questo esempio di codice illustra come creare la sottoscrizione di eventi per l'endpoint del sottoscrittore webhook.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
string[] includedEventTypes = new string[]{ "Microsoft.Communication.SMSReceived",
"Microsoft.Communication.SMSDeliveryReportReceived"
};
EventSubscription eventSubscription = new EventSubscription(
name: "<eventSubscriptionName>",
eventDeliverySchema: "EventGridSchema",
filter: new EventSubscriptionFilter(
includedEventTypes: includedEventTypes),
destination: new WebHookEventSubscriptionDestination(webhookUri));
await eventGridClient.EventSubscriptions.CreateOrUpdateAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>",
eventSubscriptionInfo: eventSubscription);
Aggiornare la sottoscrizione di eventi
Questo esempio di codice illustra come aggiornare la sottoscrizione di eventi per aggiungere altri eventi, che si vuole ricevere nell'endpoint del sottoscrittore webhook.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
string[] additionalEventTypes = new string[]{
"Microsoft.Communication.ChatMessageReceived"
};
await eventGridClient.EventSubscriptions.UpdateAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>",
eventSubscriptionUpdateParameters: new EventSubscriptionUpdateParameters(
filter: new EventSubscriptionFilter(includedEventTypes: additionalEventTypes)));
Elimina sottoscrizione di eventi
Questo esempio di codice illustra come eliminare la sottoscrizione di eventi per l'endpoint del sottoscrittore webhook.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
await eventGridClient.EventSubscriptions.DeleteAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>");
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Installare il modulo Azure Az PowerShell
- Una risorsa Servizi di comunicazione di Azure
- Creare un webhook per ricevere eventi. Recapito di eventi webhook
Registrare il provider di risorse di Griglia di eventi
Questo articolo descrive come registrare il provider di risorse di Griglia di eventi. Se prima è stata usata Griglia di eventi nella stessa sottoscrizione, passare alla sezione successiva.
- Esegui questo comando:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
- La registrazione può richiedere qualche minuto. Per controllare lo stato, eseguire:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Quando RegistrationStatus
è Registered
, è possibile continuare.
Crea sottoscrizione di eventi
Prima di tutto, assicurarsi di installare il modulo Az.EventGrid
Servizi di comunicazione di Azure usando il comando seguente.
PS C:\> Install-Module Az.EventGrid
Accedere alla propria sottoscrizione di Azure con il comando Connect-AzAccount e seguire le istruzioni visualizzate:
Connect-AzAccount
Se l'identità è associata a più sottoscrizioni, impostare la sottoscrizione attiva sulla sottoscrizione della risorsa Web PubSub da spostare.
$context = Get-AzSubscription -SubscriptionId <subscription-id> Set-AzContext $context
Per creare una sottoscrizione di eventi usando Azure PowerShell, usare il New-AzEventGridSubscription
comando .
$includedEventTypes = "Microsoft.Communication.SMSReceived", "Microsoft.Communication.SMSDeliveryReportReceived"
New-AzEventGridSubscription
-EndpointType webhook
-Endpoint https://azureeventgridviewer.azurewebsites.net/api/updates
-EventSubscriptionName EventsWebhookSubscription
-IncludedEventType $includedEventTypes
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
Per un elenco degli eventi di Servizi di comunicazione, vedere Eventi di Servizi di comunicazione.
Elencare le sottoscrizioni di eventi
Per elencare tutte le sottoscrizioni di eventi esistenti configurate per una risorsa Servizi di comunicazione di Azure usando Azure PowerShell, usare il Get-AzEventGridSubscription
comando .
Get-AzEventGridSubscription
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
Aggiornare la sottoscrizione di eventi
Per aggiornare una sottoscrizione di eventi esistente usando Azure PowerShell, usare il Update-AzEventGridSubscription
comando .
$includedEventTypes = "Microsoft.Communication.SMSReceived", "Microsoft.Communication.SMSDeliveryReportReceived", "Microsoft.Communication.ChatMessageReceived"
Update-AzEventGridSubscription
-EventSubscriptionName ES2
-IncludedEventType $includedEventTypes
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
-Endpoint https://azureeventgridviewer2.azurewebsites.net/api/updates
-SubjectEndsWith "phoneNumber"
Eliminare la sottoscrizione di eventi
Per eliminare una sottoscrizione di eventi esistente usando Azure PowerShell, usare il Remove-AzEventGridSubscription
comando .
Get-AzResource
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>" | Remove-AzEventGridSubscription -EventSubscriptionName ES2
Passaggi successivi
- Per informazioni su altri comandi, vedere Modulo PowerShell Az.EventGrid.