Quickstart: Abonneren op Azure Communication Services-gebeurtenissen
In deze quickstart leert u hoe u zich kunt abonneren op gebeurtenissen van Azure Communication Services via de portal, Azure CLI, PowerShell en .NET SDK.
U kunt gebeurtenisabonnementen instellen voor Communication Services-resources via Azure Portal of Azure CLI, PowerShell of met de Azure Event Grid Management SDK.
Voor deze quickstart doorlopen we het proces voor het instellen van webhook als abonnee voor SMS-gebeurtenissen van Azure Communication Services. Zie deze pagina voor een volledige lijst met gebeurtenissen.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een Azure Communication Services-resource.
- Maak een webhook om gebeurtenissen te ontvangen. Levering van webhook-gebeurtenissen.
De Event Grid-resourceprovider registreren
In dit artikel wordt beschreven hoe u de Event Grid-resourceprovider registreert. Als u Event Grid eerder hebt gebruikt in hetzelfde abonnement, gaat u verder met de volgende sectie.
Voer in Azure Portal de volgende stappen uit:
Selecteer Abonnementen in het linkermenu.
Selecteer het abonnement dat u wilt gebruiken voor Event Grid in de lijst met abonnementen.
Selecteer op de pagina Abonnement resourceproviders onder Instellingen in het linkermenu.
Zoek naar Microsoft.EventGrid en controleer of de status niet is geregistreerd.
Selecteer Microsoft.EventGrid in de lijst met providers.
Selecteer Registreren op de opdrachtbalk.
Vernieuwen om ervoor te zorgen dat de status van Microsoft.EventGrid wordt gewijzigd in Geregistreerd.
Gebeurtenisabonnement maken
Als u een gebeurtenisabonnement voor Azure Communication Services wilt maken, gebruikt u de volgende stappen. In dit artikel wordt beschreven hoe u een gebeurtenisabonnement voor Azure Communication Services maakt om gebeurtenissen te ontvangen via Webhook.
Als u een gebeurtenisabonnement wilt maken voor een Azure Communication Services-resource, meldt u zich eerst aan bij Azure Portal. Selecteer in de linkerbovenhoek van de pagina de Communication Services-resource.
- Selecteer op het tabblad Gebeurtenissen in het menu links.
- Selecteer op + Gebeurtenisabonnement.
- Voer op de pagina Gebeurtenisabonnement maken de volgende stappen uit:
Voer een naam in voor het gebeurtenisabonnement.
Voer een naam in voor de naam van het systeemonderwerp.
Selecteer de gebeurtenistypen die u wilt ontvangen voor het gebeurtenisabonnement.
Selecteer het eindpunttype als webhook.
Een eindpunt configureren selecteren
Voer de koppeling naar de webhook in en selecteer Selectie bevestigen.
Voeg op het tabblad Filters de namen toe van de gebeurtenistypen die u wilt filteren in het abonnement en voeg contextkenmerkfilters toe die u in het abonnement wilt gebruiken. Selecteer vervolgens Volgende: Aanvullende functies onder aan de pagina.
Als u beleid voor mislukte brieven wilt inschakelen en beleid voor opnieuw proberen wilt aanpassen, selecteert u Aanvullende functies.
Wanneer u klaar bent, selecteert u Maken.
Gebeurtenisabonnement bijwerken
Voer de volgende stappen uit om een gebeurtenisabonnement voor Azure Communication Services bij te werken. In deze sectie wordt beschreven hoe u een gebeurtenisabonnement voor Azure Communication Services bijwerkt om de gebeurtenissen die u wilt ontvangen via Webhook bij te werken.
Als u een gebeurtenisabonnement voor azure Communication Services-resource wilt bijwerken, meldt u zich eerst aan bij Azure Portal. Selecteer in de linkerbovenhoek van de pagina de Communication Services-resource.
Selecteer het tabblad Gebeurtenissen in het linkermenu.
Selecteer de gebeurtenisabonnementen en selecteer het gebeurtenisabonnement dat u wilt bijwerken.
Selecteer op de pagina Gebeurtenisabonnement op het tabblad Filters . Selecteer de gebeurtenistypen die u wilt ontvangen voor het gebeurtenisabonnement.
Als u beleid voor mislukte brieven wilt inschakelen en beleid voor opnieuw proberen wilt aanpassen, selecteert u Aanvullende functies.
Als u de webhook wilt bijwerken om gebeurtenissen te ontvangen, selecteert u Wijzigen naast de webhookkoppeling en voert u het nieuwe webhookeindpunt in.
Gebeurtenisabonnement verwijderen
Als u een gebeurtenisabonnement voor Azure Communication Services wilt verwijderen, gebruikt u de volgende stappen.
Als u een gebeurtenisabonnement voor een Azure Communication Services-resource wilt verwijderen, meldt u zich eerst aan bij Azure Portal. Selecteer in de linkerbovenhoek van de pagina de Communication Services-resource.
Selecteer op het tabblad Gebeurtenissen in het menu links.
Selecteer gebeurtenisabonnementen en selecteer het gebeurtenisabonnement dat u wilt verwijderen.
Selecteer bovenaan op de pagina Gebeurtenisabonnement de knop Verwijderen .
Volgende stappen
- Zie Communication Services-gebeurtenissen voor een lijst met Communication Services-gebeurtenissen.
- Zie Gebeurtenis-handlers voor een lijst met ondersteunde gebeurtenis-handlers.
- Voor informatie over het bezorgen en opnieuw proberen van gebeurtenissen, Event Grid-berichtbezorging en het opnieuw proberen.
- Zie Een inleiding tot Event Grid voor een inleiding tot Event Grid.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Azure CLI installeren
- Een Azure Communication Services-resource
- Maak een webhook om gebeurtenissen te ontvangen. Levering van webhook-gebeurtenissen
De Event Grid-resourceprovider registreren
In dit artikel wordt beschreven hoe u de Event Grid-resourceprovider registreert. Als u Event Grid eerder hebt gebruikt in hetzelfde abonnement, gaat u verder met de volgende sectie.
Voer de volgende opdracht uit om de provider te registreren:
az provider register --namespace Microsoft.EventGrid
Het kan even duren voordat de registratie is voltooid. Voer de volgende opdracht uit om de status te controleren:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Wanneer
registrationState
Registered
is, bent u klaar om door te gaan.
Gebeurtenisabonnement maken
Als u gebeurtenisabonnementen wilt maken voor een Azure Communication Services-resource, meldt u zich aan bij Azure CLI. U kunt zich aanmelden bij het uitvoeren van de az login
opdracht vanuit de terminal en uw referenties opgeven. Voer de volgende opdracht uit om het gebeurtenisabonnement voor de resource te maken:
Als u een gebeurtenisabonnement wilt maken met behulp van de Azure CLI, gebruikt u de az eventgrid event-subscription create
opdracht.
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
Zie Communication Services-gebeurtenissen voor een lijst met Communication Services-gebeurtenissen.
Gebeurtenisabonnementen vermelden
Als u alle bestaande gebeurtenisabonnementen wilt weergeven die zijn ingesteld voor een Azure Communication Services-resource, gebruikt az eventgrid event-subscription list
u de opdracht met behulp van de Azure CLI.
az eventgrid event-subscription list
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Gebeurtenisabonnement bijwerken
Als u een bestaand gebeurtenisabonnement wilt bijwerken met behulp van de Azure CLI, gebruikt u de az eventgrid event-subscription update
opdracht.
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
Gebeurtenisabonnement verwijderen
Als u een bestaand gebeurtenisabonnement wilt verwijderen met behulp van de Azure CLI, gebruikt u de az eventgrid event-subscription delete
opdracht.
az eventgrid event-subscription delete
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Volgende stappen
- Zie Azure Event Grid CLI voor meer informatie over andere opdrachten.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- De nieuwste versie van .NET Core SDK voor uw besturingssysteem.
- Download de nieuwste versie van de .NET Microsoft Azure Event Grid Management SDK.
- Download de nieuwste versie van de Azure Identity-bibliotheek .
- Een Azure Communication Services-resource.
De Event Grid-resourceprovider registreren
In dit artikel wordt beschreven hoe u de Event Grid-resourceprovider registreert. Als u Event Grid eerder hebt gebruikt in hetzelfde abonnement, gaat u verder met de volgende sectie.
Voer in Azure Portal de volgende stappen uit:
Selecteer Abonnementen in het linkermenu.
Selecteer het abonnement dat u wilt gebruiken voor Event Grid in de lijst met abonnementen.
Selecteer op de pagina Abonnement resourceproviders onder Instellingen in het linkermenu.
Zoek naar Microsoft.EventGrid en controleer of de status niet is geregistreerd.
Selecteer Microsoft.EventGrid in de lijst met providers.
Selecteer Registreren op de opdrachtbalk.
Vernieuwen om ervoor te zorgen dat de status van Microsoft.EventGrid wordt gewijzigd in Geregistreerd.
De SDK installeren
Installeer eerst de Microsoft Azure Event Grid-beheerbibliotheek voor .NET met NuGet:
dotnet add package Azure.ResourceManager.EventGrid;
Neem de Event Grid Management SDK op in uw C#-project:
using Microsoft.Azure.Management.EventGrid;
using Microsoft.Azure.Management.EventGrid.Models;
Verifiëren met Azure Identity-bibliotheek
Vereisten:
- Maak een Microsoft Entra-toepassing en service-principal en stel een clientgeheim of vertrouwd certificaat in dat is uitgegeven door de certificeringsinstantie door de instructies hier te volgen.
- Sla het geheim of het certificaat op in de Azure KeyVault.
- Geef inzender of eigenaar toegang tot het abonnement voor die toepassing door de instructies hier te volgen.
- Lees hier meer over het autoriseren van toegang tot Event Grid-resources.
De Azure Identity-bibliotheek biedt verificatieondersteuning voor Tokens van Microsoft Entra ID (voorheen Azure Active Directory) in de Azure SDK. Het biedt een set TokenCredential-implementaties, die kunnen worden gebruikt om Azure SDK-clients te bouwen die ondersteuning bieden voor Microsoft Entra-tokenverificatie. Hier vindt u meer informatie.
- Neem de Azure Identity-clientbibliotheek voor .NET op met NuGet:
dotnet add package Azure.Identity;
dotnet add package Azure.Security.KeyVault.Secrets
- De Azure Identity-bibliotheek opnemen in uw C#-project
using Microsoft.Azure.Identity;
using Azure.Security.KeyVault.Secrets
U kunt de geheime referenties of certificaatreferenties doorgeven om toegangstokens op te halen, op basis van de configuratie van uw service-principal.
Toegangstoken ophalen met behulp van geheime referenties
Als u de geheime referenties wilt ophalen, moet u deze lezen uit de Sleutelkluis die u hebt gemaakt in Vereisten 2 met behulp van 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();
Toegangstoken ophalen met behulp van certificaatreferenties
Als u de certificaatreferenties wilt ophalen, moet u deze lezen uit de Sleutelkluis die u hebt gemaakt in Vereisten 2 met behulp van CertificateClient.
Meer informatie over de Microsoft Entra-toepassingsconfiguratie-instantie vindt u hier
// 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();
EventGridManagementClient verifiëren met toegangstoken met behulp van geheime of certificaatreferenties
// 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';
Gebeurtenisabonnement maken
In dit codevoorbeeld ziet u hoe u het gebeurtenisabonnement voor het eindpunt van de webhook-abonnee maakt.
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);
Gebeurtenisabonnement bijwerken
In dit codevoorbeeld ziet u hoe u het gebeurtenisabonnement bijwerkt om meer gebeurtenissen toe te voegen, die u wilt ontvangen op het eindpunt van de webhook-abonnee.
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)));
Gebeurtenisabonnement verwijderen
In dit codevoorbeeld ziet u hoe u het gebeurtenisabonnement voor het eindpunt van de webhook-abonnee verwijdert.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
await eventGridClient.EventSubscriptions.DeleteAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>");
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- De Azure Az PowerShell-module installeren
- Een Azure Communication Services-resource
- Maak een webhook om gebeurtenissen te ontvangen. Levering van webhook-gebeurtenissen
De Event Grid-resourceprovider registreren
In dit artikel wordt beschreven hoe u de Event Grid-resourceprovider registreert. Als u Event Grid eerder hebt gebruikt in hetzelfde abonnement, gaat u verder met de volgende sectie.
- Voer de volgende opdracht uit:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
- Het kan even duren voordat de registratie is voltooid. Voer de volgende opdracht uit om de status te controleren:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Wanneer RegistrationStatus
Registered
is, bent u klaar om door te gaan.
Gebeurtenisabonnement maken
Zorg er eerst voor dat u de Azure Communication Services-module Az.EventGrid
installeert met behulp van de volgende opdracht.
PS C:\> Install-Module Az.EventGrid
Meld u aan bij uw Azure-abonnement met de opdracht Verbinding maken-AzAccount en volg de aanwijzingen op het scherm:
Connect-AzAccount
Als uw identiteit is gekoppeld aan meer dan één abonnement, stelt u uw actieve abonnement in op het abonnement van de Web PubSub-resource die u wilt verplaatsen.
$context = Get-AzSubscription -SubscriptionId <subscription-id> Set-AzContext $context
Als u een gebeurtenisabonnement wilt maken met behulp van Azure PowerShell, gebruikt u de New-AzEventGridSubscription
opdracht.
$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>"
Zie Communication Services-gebeurtenissen voor een lijst met Communication Services-gebeurtenissen.
Gebeurtenisabonnementen vermelden
Als u alle bestaande gebeurtenisabonnementen wilt weergeven die zijn ingesteld voor een Azure Communication Services-resource, gebruikt u de Get-AzEventGridSubscription
opdracht met behulp van Azure PowerShell.
Get-AzEventGridSubscription
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
Gebeurtenisabonnement bijwerken
Als u een bestaand gebeurtenisabonnement wilt bijwerken met behulp van Azure PowerShell, gebruikt u de Update-AzEventGridSubscription
opdracht.
$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"
Gebeurtenisabonnement verwijderen
Als u een bestaand gebeurtenisabonnement wilt verwijderen met behulp van Azure PowerShell, gebruikt u de Remove-AzEventGridSubscription
opdracht.
Get-AzResource
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>" | Remove-AzEventGridSubscription -EventSubscriptionName ES2
Volgende stappen
- Zie de Az.EventGrid PowerShell-module voor meer informatie over andere opdrachten.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor