Rychlý start: Přihlášení k odběru událostí služby Azure Communication Services
V tomto rychlém startu se dozvíte, 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 nebo Azure CLI, PowerShellu nebo sady SDK pro správu služby Azure Event Grid.
Pro účely tohoto rychlého startu si projdeme proces nastavení webhooku jako odběratele událostí SMS ze služeb Azure Communication Services. Úplný seznam událostí najdete na této stránce.
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í. 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 poskytovatele 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 Službu Azure Communication Services, postupujte následovně. Tento článek ukazuje, jak vytvořit odběr událostí pro službu Azure Communication Services pro příjem událostí prostřednictvím webhooku.
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.
- Vyberte na kartě Události v nabídce vlevo.
- Vyberte možnost + 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 o událostech komunikačních služeb 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, a přidejte 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í
Pokud chcete aktualizovat odběr událostí pro službu Azure Communication Services, postupujte následovně. 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 na kartě Filtry. Vyberte typy událostí, které chcete přijímat v odběru událostí.
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 u odkazu Webhook změnit a zadejte nový koncový bod webhooku.
Odstranění odběru událostí
Pokud chcete odstranit odběr událostí pro službu Azure Communication Services, postupujte následovně.
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.
Vyberte na kartě Události v nabídce vlevo.
Vyberte odběry událostí a vyberte odběr událostí, které chcete odstranit.
Na stránce Odběr událostí vyberte nahoře tlačítko 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 event Gridu pro doručování zpráv 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
- Instalace Azure CLI
- Prostředek Azure Communication Services
- Vytvořte webhook pro příjem událostí. 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 své přihlašovací údaje. Spuštěním následujícího příkazu vytvořte odběr událostí pro prostředek:
Pokud chcete vytvořit odběr událostí pomocí Azure CLI, použijte az eventgrid event-subscription create
tento 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 vypsat všechna existující předplatná událostí nastavená 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
tento 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 az eventgrid event-subscription delete
tento 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.
- Získejte nejnovější verzi sady .NET Microsoft Azure Event Grid Management SDK.
- Získejte nejnovější verzi 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 poskytovatele 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ý.
Instalace sady 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 podle zde uvedených pokynů.
- 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 zde uvedených pokynů.
- Další informace o autorizaci přístupu k prostředkům Event Gridu najdete tady.
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é lze použít k vytvoření klientů sady Azure SDK podporujících ověřování tokenů Microsoft Entra. Další informace si můžete přečíst tady.
dotnet add package Azure.Identity;
dotnet add package Azure.Security.KeyVault.Secrets
- Zahrnutí knihovny Azure Identity do projektu jazyka C#
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 ho přečíst z keyvaultu, který jste vytvořili v části Požadavky #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 ho přečíst z keyvaultu, který jste vytvořili v části Požadavky #2 pomocí CertificateClient.
Další informace o konfigurační autoritě aplikace Microsoft Entra najdete tady.
// 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ěření EventGridManagementClient pomocí přístupového tokenu pomocí přihlašovacích údajů tajného kódu nebo 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_subscripiton_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
- Instalace modulu Azure Az PowerShell
- Prostředek Azure Communication Services
- Vytvořte webhook pro příjem událostí. 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 Připojení-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 PowerShelluNew-AzEventGridSubscription
, použijte tento 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 zobrazit seznam všech existujících odběrů událostí nastavených 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 tento 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 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.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro