Rychlý start: Přihlášení k odběru událostí služby Azure Communication Services
Tento článek vysvětluje, jak se přihlásit k odběru událostí z Azure Communication Services prostřednictvím portálu, Azure CLI, PowerShellu a sady .NET SDK.
Odběry událostí pro prostředky komunikačních služeb můžete nastavit prostřednictvím webu Azure Portal, Azure CLI, PowerShellu nebo sady Azure Event Grid Management SDK.
Tento rychlý start popisuje proces nastavení webhooku jako odběratele událostí SMS ze služeb Azure Communication Services. Úplný seznam událostí najdete v tématu Azure Communication Services jako zdroj služby Azure Event Grid.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Prostředek Azure Communication Services.
- Vytvořte webhook pro příjem událostí. Viz Doručování událostí webhooku.
Registrace poskytovatele prostředků Event Gridu
Tento článek popisuje, jak zaregistrovat poskytovatele prostředků Event Gridu. Pokud jste službu Event Grid použili dříve ve stejném předplatném, přejděte k další části.
Na webu Azure Portal proveďte následující kroky:
V nabídce vlevo vyberte Předplatná.
V seznamu odběrů vyberte předplatné , které chcete použít pro Event Grid.
Na stránce Předplatné vyberte v části Nastavení v nabídce vlevo možnost Poskytovatelé prostředků.
Vyhledejte Microsoft.EventGrid a ověřte, že stav není zaregistrovaný.
V seznamu zprostředkovatelů vyberte Microsoft.EventGrid .
Na panelu příkazů vyberte Zaregistrovat .
Aktualizujte, abyste měli jistotu , že je stav Microsoft.EventGrid změněn na Zaregistrovaný.
Vytvoření odběru událostí
Pokud chcete vytvořit odběr událostí pro prostředek Azure Communication Services, nejprve se přihlaste k webu Azure Portal. V levém horním rohu stránky vyberte prostředek Komunikační služby.
- V nabídce vlevo vyberte kartu Události.
- Vyberte + Odběr události.
- Na stránce Vytvořit odběr události postupujte takto:
Zadejte název odběru události.
Zadejte název systémového tématu.
Vyberte typy událostí, které chcete přijímat v odběru událostí.
Další informace naleznete v tématu Události komunikačních služeb.
Vyberte typ koncového bodu jako webhook.
Výběr možnosti Konfigurace koncového bodu
Zadejte odkaz na webhook a vyberte Potvrdit výběr.
Na kartě Filtry přidejte názvy typů událostí, které chcete filtrovat v předplatném. Přidejte všechny filtry atributů kontextu, které chcete použít v předplatném. Pak vyberte Další: Další funkce v dolní části stránky.
Pokud chcete povolit nedoručení a přizpůsobit zásady opakování, vyberte Další funkce.
Až budete hotovi, vyberte Vytvořit.
Aktualizace odběru událostí
V této části se dozvíte, jak aktualizovat odběr událostí pro službu Azure Communication Services, aby se aktualizovaly události, které chcete přijímat přes Webhook.
Pokud chcete aktualizovat odběr událostí pro prostředek Azure Communication Services, nejprve se přihlaste k webu Azure Portal. V levém horním rohu stránky vyberte prostředek Komunikační služby.
V nabídce vlevo vyberte kartu Události.
Vyberte Odběry událostí a vyberte odběr událostí, které chcete aktualizovat.
Na stránce Odběr událostí vyberte kartu Filtry. Vyberte typy událostí, které chcete přijímat v odběru události.
Pokud chcete povolit nedoručení a přizpůsobit zásady opakování, vyberte Další funkce.
Pokud chcete webhook aktualizovat tak, aby přijímal události, vyberte Změnit vedle odkazu webhooku a zadejte nový koncový bod webhooku.
Až budete hotovi, vyberte Uložit.
Odstranění odběru událostí
Pokud chcete odstranit odběr událostí pro Službu Azure Communication Services, postupujte takto.
Pokud chcete odstranit odběr událostí pro prostředek Azure Communication Services, nejprve se přihlaste k webu Azure Portal. V levém horním rohu stránky vyberte prostředek Komunikační služby.
V nabídce vlevo vyberte kartu Události.
Vyberte Odběry událostí a vyberte odběr událostí, které chcete odstranit.
Na stránce Odběr události vyberte v horní části stránky možnost Odstranit .
Další kroky
- Seznam událostí komunikačních služeb naleznete v tématu Události komunikačních služeb.
- Seznam podporovaných obslužných rutin událostí najdete v tématu Obslužné rutiny událostí.
- Informace o doručení a opakování událostí najdete v tématu Doručování zpráv event Gridu a opakování.
- Úvod do Event Gridu najdete v článku Informace o službě Event Grid.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nainstalujte Azure CLI.
- Prostředek Azure Communication Services.
- Vytvořte webhook pro příjem událostí. Viz Doručování událostí webhooku.
Registrace poskytovatele prostředků Event Gridu
Tento článek popisuje, jak zaregistrovat poskytovatele prostředků Event Gridu. Pokud jste službu Event Grid použili dříve ve stejném předplatném, přejděte k další části.
Spuštěním následujícího příkazu zaregistrujte poskytovatele:
az provider register --namespace Microsoft.EventGrid
Dokončení registrace může chvíli trvat. Pokud chcete zkontrolovat stav, spusťte následující příkaz:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Jakmile
registrationState
jeRegistered
, můžete pokračovat.
Vytvoření odběru událostí
Pokud chcete vytvořit odběry událostí pro prostředek Azure Communication Services, přihlaste se k Azure CLI. Můžete se přihlásit spuštěním az login
příkazu z terminálu a zadat přihlašovací údaje.
Pokud chcete vytvořit odběr událostí pomocí Azure CLI, použijte az eventgrid event-subscription create
příkaz:
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
Seznam událostí komunikačních služeb naleznete v tématu Události komunikačních služeb.
Výpis odběrů událostí
Pokud chcete zobrazit seznam všech existujících odběrů událostí nastavených pro prostředek Azure Communication Services pomocí Azure CLI, použijte az eventgrid event-subscription list
tento příkaz.
az eventgrid event-subscription list
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Aktualizace odběru událostí
Pokud chcete aktualizovat existující odběr událostí pomocí Azure CLI, použijte az eventgrid event-subscription update
příkaz.
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
Odstranění odběru událostí
Pokud chcete odstranit existující odběr událostí pomocí Azure CLI, použijte tento az eventgrid event-subscription delete
příkaz.
az eventgrid event-subscription delete
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Další kroky
- Informace o dalších příkazech najdete v tématu Azure Event Grid CLI.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nejnovější verze sady .NET Core SDK pro váš operační systém.
- Nejnovější verze sady .NET Microsoft Azure Event Grid Management SDK.
- Nejnovější verze knihovny identit Azure
- Prostředek Azure Communication Services.
Registrace poskytovatele prostředků Event Gridu
Tento článek popisuje, jak zaregistrovat poskytovatele prostředků Event Gridu. Pokud jste službu Event Grid použili dříve ve stejném předplatném, přejděte k další části.
Na webu Azure Portal proveďte následující kroky:
V nabídce vlevo vyberte Předplatná.
V seznamu odběrů vyberte předplatné , které chcete použít pro Event Grid.
Na stránce Předplatné vyberte v části Nastavení v nabídce vlevo možnost Poskytovatelé prostředků.
Vyhledejte Microsoft.EventGrid a ověřte, že stav není zaregistrovaný.
V seznamu zprostředkovatelů vyberte Microsoft.EventGrid .
Na panelu příkazů vyberte Zaregistrovat .
Aktualizujte, abyste měli jistotu , že je stav Microsoft.EventGrid změněn na Zaregistrovaný.
Nainstalujte sadu SDK .
Nejprve nainstalujte knihovnu pro správu Microsoft Azure Event Grid pro .NET pomocí NuGetu:
dotnet add package Azure.ResourceManager.EventGrid;
Do projektu jazyka C# zahrňte sadu SDK pro správu služby Event Grid:
using Microsoft.Azure.Management.EventGrid;
using Microsoft.Azure.Management.EventGrid.Models;
Ověřování pomocí knihovny Identit Azure
Požadavky
- Vytvořte aplikaci Microsoft Entra a instanční objekt a nastavte tajný klíč klienta nebo důvěryhodný certifikát vydaný certifikační autoritou. Postupujte podle pokynů v části Registrace aplikace Microsoft Entra a vytvořte instanční objekt.
- Uložte tajný klíč nebo certifikát do služby Azure Keyvault.
- Přidělte přispěvateli nebo vlastníkovi přístup k předplatnému této aplikace podle pokynů v tématu Udělení přístupu uživatelů k prostředkům Azure pomocí webu Azure Portal.
- Přečtěte si další informace o autorizaci přístupu k prostředkům Event Gridu.
Knihovna Identit Azure poskytuje podporu ověřování tokenů Microsoft Entra ID (dříve Azure Active Directory) v sadě Azure SDK. Poskytuje sadu implementací TokenCredential, které můžete použít k vytvoření klientů Sady Azure SDK podporujících ověřování tokenů Microsoft Entra. Další informace najdete v klientské knihovně Azure Identity pro .NET.
- Zahrňte klientskou knihovnu Azure Identity pro .NET s NuGetem.
dotnet add package Azure.Identity;
dotnet add package Azure.Security.KeyVault.Secrets
- Do projektu jazyka C# zahrňte knihovnu Identit Azure.
using Microsoft.Azure.Identity;
using Azure.Security.KeyVault.Secrets
Pokud chcete získat přístupový token, můžete předat přihlašovací údaje tajného kódu nebo přihlašovací údaje certifikátu na základě konfigurace instančního objektu.
Získání přístupového tokenu pomocí tajných přihlašovacích údajů
Pokud chcete získat přihlašovací údaje tajného kódu, musíte si ho přečíst z keyvaultu, který jste vytvořili v předpokladu 2 pomocí 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();
Získání přístupového tokenu pomocí přihlašovacích údajů certifikátu
Pokud chcete získat přihlašovací údaje certifikátu, musíte si ho přečíst z keyvaultu, který jste vytvořili v předpokladu 2 pomocí CertificateClient.
Přečtěte si další informace o autoritě konfigurace aplikace Microsoft Entra v možnostech konfigurace aplikace.
// 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();
Ověřování
EventGridManagementClient
pomocí přístupového tokenu pomocí tajných kódů nebo přihlašovacích údajů certifikátu
// 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_subscription_id';
Vytvořit odběr události
Tento ukázkový kód ukazuje, jak vytvořit odběr událostí pro koncový bod odběratele webhooku.
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);
Aktualizace odběru událostí
Tento ukázkový kód ukazuje, jak aktualizovat odběr událostí a přidat další události, které chcete dostávat na koncový bod odběratele webhooku.
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)));
Odstranění odběru událostí
Tento ukázkový kód ukazuje, jak odstranit odběr událostí pro koncový bod odběratele webhooku.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
await eventGridClient.EventSubscriptions.DeleteAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>");
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nainstalujte modul Azure Az PowerShell.
- Prostředek Azure Communication Services.
- Vytvořte webhook pro příjem událostí. Viz Doručování událostí webhooku.
Registrace poskytovatele prostředků Event Gridu
Tento článek popisuje, jak zaregistrovat poskytovatele prostředků Event Gridu. Pokud jste službu Event Grid použili dříve ve stejném předplatném, přejděte k další části.
- Spusťte následující příkaz:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
- Dokončení registrace může chvíli trvat. Pokud chcete zkontrolovat stav, spusťte:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Jakmile RegistrationStatus
je Registered
, můžete pokračovat.
Vytvoření odběru událostí
Nejprve pomocí následujícího příkazu nainstalujte modul Az.EventGrid
Azure Communication Services.
PS C:\> Install-Module Az.EventGrid
Přihlaste se ke svému předplatnému Azure pomocí příkazu Connect-AzAccount a postupujte podle pokynů na obrazovce.
Connect-AzAccount
Pokud je vaše identita přidružená k více než jednomu předplatnému, nastavte aktivní předplatné na předplatné prostředku Web PubSub , který chcete přesunout.
$context = Get-AzSubscription -SubscriptionId <subscription-id> Set-AzContext $context
Pokud chcete vytvořit odběr událostí pomocí Azure PowerShellu, použijte tento New-AzEventGridSubscription
příkaz.
$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>"
Seznam událostí komunikačních služeb naleznete v tématu Události komunikačních služeb.
Výpis odběrů událostí
Pokud chcete vypsat všechna existující předplatná událostí nastavená pro prostředek Azure Communication Services pomocí Azure PowerShelluGet-AzEventGridSubscription
, použijte tento příkaz.
Get-AzEventGridSubscription
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
Aktualizace odběru událostí
Pokud chcete aktualizovat existující odběr událostí pomocí Azure PowerShelluUpdate-AzEventGridSubscription
, použijte příkaz.
$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"
Odstranění odběru událostí
Pokud chcete odstranit existující odběr událostí pomocí Azure PowerShelluRemove-AzEventGridSubscription
, použijte tento příkaz.
Get-AzResource
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>" | Remove-AzEventGridSubscription -EventSubscriptionName ES2
Další kroky
- Informace o dalších příkazech najdete v tématu Az.EventGrid PowerShell Module.