Guide de démarrage rapide : S’abonner aux événements Azure Communication Services
Cet article explique comment vous abonner aux événements d’Azure Communication Services via le portail, Azure CLI, PowerShell et le SDK .NET.
Vous pouvez configurer des abonnements aux événements pour les ressources Communication Services via le portail Azure, Azure CLI, PowerShell ou le SDK Azure Event Grid Management.
Ce guide de démarrage rapide décrit le processus de configuration d’un webhook en tant qu’abonné à des événements SMS provenant d’Azure Communication Services. Pour obtenir la liste complète des événements, consultez Azure Communication Services comme source Azure Event Grid.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Une ressource Azure Communication Services.
- Créez un Webhook pour recevoir des événements. Consultez Remise d’événements webhook.
Enregistrer le fournisseur de ressources Event Grid
Cet article décrit comment enregistrer le fournisseur de ressources Event Grid. Si vous avez déjà utilisé Event Grid dans le même abonnement, passez à la section suivante.
Dans le portail Azure, procédez comme suit :
Sélectionner Abonnements dans le menu de gauche.
Sélectionnez l’abonnement que vous souhaitez utiliser pour Event Grid dans la liste des abonnements.
Dans la page Abonnement, sélectionnez Fournisseurs de ressources dans la section Paramètres du menu de gauche.
Recherchez Microsoft.EventGrid et assurez-vous que l’état est Non inscrit.
Sélectionnez Microsoft.EventGrid dans la liste des fournisseurs.
Sélectionnez Inscrire dans la barre de commandes.
Actualisez pour vous assurer que l’état de Microsoft.EventGrid est modifié en Inscrit.
Créer un abonnement aux événements
Pour créer un abonnement aux événements pour la ressource Azure Communication Services, commencez par vous connecter au portail Azure. Dans le coin supérieur gauche de la page, sélectionnez la ressource Communication Services.
- Sélectionnez l’onglet Événements dans le menu de gauche.
- Sélectionnez + Abonnement aux événements.
- Dans la page Créer un abonnement aux événements, effectuez les étapes suivantes :
Entrez un nom pour l’abonnement aux événements.
Saisissez un nom pour la rubrique Système.
Sélectionnez les types d’événements que vous souhaitez recevoir dans le cadre de l’abonnement aux événements.
Pour plus d’informations, consultez Événements Communication Services.
Sélectionnez le type de point de terminaison en tant que Webhook.
Sélectionnez Configurer un point de terminaison
Entrez le lien vers le webhook et sélectionnez Confirmer la sélection.
Sous l’onglet Filtres, ajoutez les noms des types d’événements que vous souhaitez filtrer dans l’abonnement. Ajoutez les filtres d’attribut de contexte que vous souhaitez utiliser dans l’abonnement. Puis, sélectionnez Suivant : Fonctionnalités supplémentaires en bas de la page.
Pour activer le lettrage mort et personnaliser les stratégies de nouvelle tentative, sélectionnez Fonctionnalités supplémentaires.
Quand vous avez terminé, sélectionnez Créer.
Mise à jour de l’abonnement aux événements
Cette section explique comment mettre à jour un abonnement aux événements pour Azure Communication Services afin de mettre à jour les événements que vous souhaitez recevoir via Webhook.
Pour mettre à jour un abonnement aux événements pour la ressource Azure Communication Services, commencez par vous connecter au portail Azure. Dans le coin supérieur gauche de la page, sélectionnez la ressource Communication Services.
Sélectionnez l’onglet Événements dans le menu de gauche.
Sélectionnez Abonnements aux événements, puis l’abonnement à l’événement que vous souhaitez mettre à jour.
Dans la page Abonnement aux événements, sélectionnez l’onglet Filtres. Sélectionnez les types d’événements que vous souhaitez recevoir dans le cadre de l’abonnement aux événements.
Pour activer le lettrage mort et personnaliser les stratégies de nouvelle tentative, sélectionnez Fonctionnalités supplémentaires.
Pour mettre à jour le webhook pour recevoir des événements, sélectionnez Modifier à côté du lien de webhook et entrez le nouveau point de terminaison du webhook.
Lorsque vous avez terminé, sélectionnez Enregistrer.
Supprimer l’abonnement à l’événement
Pour supprimer un abonnement aux événements pour Azure Communication Services, suivez ces étapes.
Pour supprimer un abonnement aux événements pour la ressource Azure Communication Services, commencez par vous connecter au portail Azure. Dans le coin supérieur gauche de la page, sélectionnez la ressource Communication Services.
Sélectionnez l’onglet Événements dans le menu de gauche.
Sélectionnez Abonnements aux événements, puis l’abonnement à l’événement que vous souhaitez supprimer.
Dans la page Abonnement aux événements, sélectionnez Supprimer en haut de la page.
Étapes suivantes
- Pour une liste d’événements Communication Services, consultez événements Communication Services.
- Pour obtenir la liste des gestionnaires d’événements pris en charge, consultez Gestionnaires d’événements.
- Pour plus d’informations sur la remise d’événements et les nouvelles tentatives, consultez Remise et nouvelle tentative de remise de messages Event Grid.
- Pour une présentation d’Event Grid, consultez À propos d’Event Grid.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Installez Azure CLI.
- Une ressource Azure Communication Services.
- Créez un Webhook pour recevoir des événements. Consultez Remise d’événements webhook.
Enregistrer le fournisseur de ressources Event Grid
Cet article décrit comment enregistrer le fournisseur de ressources Event Grid. Si vous avez déjà utilisé Event Grid dans le même abonnement, passez à la section suivante.
Exécutez la commande suivante pour enregistrer le fournisseur :
az provider register --namespace Microsoft.EventGrid
L’inscription peut prendre un certain temps. Pour vérifier l'état, exécutez la commande suivante :
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Lorsque
registrationState
estRegistered
, vous êtes prêt à continuer.
Créer un abonnement aux événements
Pour créer des abonnements aux évènements pour la ressource Azure Communication Services, connectez-vous à Azure CLI. Vous pouvez vous connecter en exécutant la commande az login
depuis le terminal, puis fournir vos informations d’identification.
Pour créer un abonnement aux événements en utilisant Azure CLI, utilisez la commande az eventgrid event-subscription create
.
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
Pour une liste d’événements Communication Services, consultez événements Communication Services.
Abonnements à la liste des événements
Pour répertorier tous les abonnements aux événements existants configurés pour une ressource Azure Communication Services à l’aide d’Azure CLI, utilisez la commande az eventgrid event-subscription list
.
az eventgrid event-subscription list
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Mise à jour de l’abonnement aux événements
Pour mettre à jour un abonnement aux événements existant à l’aide d’Azure CLI, utilisez la commande az eventgrid event-subscription update
.
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
Supprimer l’abonnement à l’événement
Pour supprimer un abonnement aux événements existant à l’aide d’Azure CLI, utilisez la commande az eventgrid event-subscription delete
.
az eventgrid event-subscription delete
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Étapes suivantes
- Pour plus d’informations sur les autres commandes, consultez Azure Event Grid CLI.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Dernière version du kit SDK .NET Core pour votre système d’exploitation.
- La dernière version du SDK .NET Microsoft Azure Event Grid Management.
- La dernière version de la bibliothèque Azure Identity.
- Une ressource Azure Communication Services.
Enregistrer le fournisseur de ressources Event Grid
Cet article décrit comment enregistrer le fournisseur de ressources Event Grid. Si vous avez déjà utilisé Event Grid dans le même abonnement, passez à la section suivante.
Dans le portail Azure, procédez comme suit :
Sélectionner Abonnements dans le menu de gauche.
Sélectionnez l’abonnement que vous souhaitez utiliser pour Event Grid dans la liste des abonnements.
Dans la page Abonnement, sélectionnez Fournisseurs de ressources dans la section Paramètres du menu de gauche.
Recherchez Microsoft.EventGrid et assurez-vous que l’état est Non inscrit.
Sélectionnez Microsoft.EventGrid dans la liste des fournisseurs.
Sélectionnez Inscrire dans la barre de commandes.
Actualisez pour vous assurer que l’état de Microsoft.EventGrid est modifié en Inscrit.
Installer le SDK
Tout d’abord, installez la bibliothèque de gestion Microsoft Azure Event Grid pour .NET avec NuGet :
dotnet add package Azure.ResourceManager.EventGrid;
Incluez le Kit de développement logiciel (SDK) Event Grid Management dans votre projet C# :
using Microsoft.Azure.Management.EventGrid;
using Microsoft.Azure.Management.EventGrid.Models;
S’authentifier avec la bibliothèque Azure Identity
Prérequis
- Créez une application Microsoft Entra et un principal de service, puis configurez une clé secrète client ou un certificat approuvé émis par une autorité de certification. Suivez les instructions dans Inscrire une application Microsoft Entra et créer un principal de service.
- Stockez le secret ou le certificat dans Le coffre de clés Azure.
- Donnez au contributeur ou au propriétaire l’accès à l’abonnement à cette application en suivant les instructions dans Accorder un accès utilisateur aux ressources Azure à l’aide du portail Azure.
- En savoir plus sur l’Autorisation d’accès aux ressources Event Grid.
La bibliothèque Azure Identity prend en charge l’authentification par jeton Microsoft Entra ID (anciennement Azure Active Directory) dans le SDK Azure. Elle fournit un ensemble d’implémentations de TokenCredential, que vous pouvez utiliser pour construire des clients du SDK Azure prenant en charge l’authentification par jeton Microsoft Entra. Pour plus d’informations, consultez Bibliothèque de client Azure Identity pour .NET.
- Inclure la bibliothèque de client Azure Identity pour .NET avec NuGet.
dotnet add package Azure.Identity;
dotnet add package Azure.Security.KeyVault.Secrets
- Inclure la bibliothèque Azure Identity dans votre projet C#.
using Microsoft.Azure.Identity;
using Azure.Security.KeyVault.Secrets
Vous pouvez transmettre les informations d’identification secrètes ou les informations d’identification du certificat pour obtenir le jeton d’accès, en fonction de la configuration de votre principal de service.
Obtenir un jeton d’accès à l’aide d’informations d’identification secrètes
Pour obtenir les informations d’identification du secret, vous devez le lire à partir du coffre de clés que vous avez créé dans la configuration requise 2 à l’aide de 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();
Obtenez un jeton d’accès en utilisant les informations d’identification du certificat.
Pour obtenir les informations d’identification du certificat, vous devez le lire à partir du coffre de clés que vous avez créé dans la configuration requise 2 à l’aide de CertificateClient.
En savoir plus sur l’autorité de configuration de l’application Microsoft Entra dans Options de configuration d’application.
// 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();
Authentifier
EventGridManagementClient
avec un jeton d’accès à l’aide d’un secret ou des informations d’identification d’un certificat.
// 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';
Créer un abonnement à un événement
Cet exemple de code montre comment créer l’abonnement à un événement pour le point de terminaison de l’abonné(e) du 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);
Mise à jour de l’abonnement aux événements
Cet exemple de code montre comment mettre à jour l’abonnement aux événements pour ajouter d’autres événements que vous souhaitez recevoir sur le point de terminaison de l’abonné 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)));
Supprimer l’abonnement à l’événement
Cet exemple de code montre comment supprimer l’abonnement à un événement pour le point de terminaison de l’abonné(e) du webhook.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
await eventGridClient.EventSubscriptions.DeleteAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>");
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Installez le module PowerShell Azure Az.
- Une ressource Azure Communication Services.
- Créez un Webhook pour recevoir des événements. Consultez Remise d’événements webhook.
Enregistrer le fournisseur de ressources Event Grid
Cet article décrit comment enregistrer le fournisseur de ressources Event Grid. Si vous avez déjà utilisé Event Grid dans le même abonnement, passez à la section suivante.
- Exécutez la commande suivante :
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
- L’inscription peut prendre un certain temps. Pour vérifier l’état, exécutez :
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Lorsque RegistrationStatus
est Registered
, vous êtes prêt à continuer.
Créer un abonnement aux événements
Tout d’abord, installez le module Azure Communication Services Az.EventGrid
à l’aide de la commande suivante.
PS C:\> Install-Module Az.EventGrid
Connectez-vous à votre abonnement Azure à l’aide de la commande Connect-AzAccount, puis suivez les instructions à l’écran.
Connect-AzAccount
Si votre identité est associée à plusieurs abonnements, définissez votre abonnement actif sur l’abonnement de la ressource Web PubSub à déplacer.
$context = Get-AzSubscription -SubscriptionId <subscription-id> Set-AzContext $context
Pour créer un abonnement aux événements à l’aide d’Azure PowerShell, utilisez la commande New-AzEventGridSubscription
.
$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>"
Pour une liste d’événements Communication Services, consultez événements Communication Services.
Abonnements à la liste des événements
Pour répertorier tous les abonnements aux événements existants configurés pour une ressource Azure Communication Services à l’aide d’Azure PowerShell, utilisez la commande Get-AzEventGridSubscription
.
Get-AzEventGridSubscription
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
Mise à jour de l’abonnement aux événements
Pour mettre à jour un abonnement aux événements existant à l’aide d’Azure PowerShell, utilisez la commande Update-AzEventGridSubscription
.
$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"
Supprimer l’abonnement à l’événement
Pour supprimer un abonnement aux événements existant à l’aide d’Azure PowerShell, utilisez la commande Remove-AzEventGridSubscription
.
Get-AzResource
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>" | Remove-AzEventGridSubscription -EventSubscriptionName ES2
Étapes suivantes
- Pour plus d’informations sur d’autres commandes, consultez le module PowerShell Az.EventGrid.