Inicio rápido: suscripción a eventos de Azure Communication Services
En este inicio rápido, aprenderá a suscribirse a eventos de Azure Communication Services a través del portal, la CLI de Azure, PowerShell y el SDK de .NET.
Puede configurar suscripciones a eventos para los recursos de Communication Services a través de Azure Portal o la CLI de Azure, PowerShell o con el SDK de administración de Event Grid de Azure.
En este inicio rápido, se explica el proceso de configuración del webhook como suscriptor para eventos SMS de Azure Communication Services. Para obtener una lista completa de eventos, consulte esta página.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Azure Communication Services.
- Cree un webhook para recibir eventos. Entrega de eventos de Webhook.
Registro del proveedor de recursos de Event Grid
En este artículo se describe cómo registrar el proveedor de recursos de Event Grid. Si usó Event Grid antes en la misma suscripción, vaya a la siguiente sección.
En Azure Portal, realice los siguientes pasos:
En el menú de la izquierda, seleccione Suscripciones.
Seleccione la suscripción que desea usar para Event Grid en la lista de suscripciones.
En la página Suscripción, seleccione Proveedores de recursos en Configuración del menú izquierdo.
Busque Microsoft.EventGrid y confirme que el estado es No registrado.
Seleccione Microsoft.EventGrid en la lista de proveedores.
Seleccione Registrar en la barra de comandos.
Actualice para asegurarse de que el estado de Microsoft.EventGrid se cambia a Registrado.
Creación de la suscripción de eventos
Para crear una suscripción de eventos para Azure Communication Services, siga estos pasos. En este artículo se muestra cómo crear una suscripción de eventos para que Azure Communication Services reciba eventos a través de Webhook.
Para crear una suscripción de eventos para el recurso de Azure Communication Services, inicie sesión primero en Azure Portal. En la esquina superior izquierda de la página, seleccione el recurso de Communication Services.
- Seleccione la pestaña Eventos del menú de la izquierda.
- Seleccione + Suscripción de eventos.
- En la página Crear suscripción de eventos, siga estos pasos:
Escriba un nombre para la suscripción a eventos.
Escriba un nombre para el tema del sistema.
Seleccione los tipos de eventos que desea recibir en la suscripción de eventos.
Para obtener más información sobre los eventos de Communication Services, consulte Eventos de Communication Services
Seleccione el tipo de punto de conexión como Web Hook.
Seleccione Configurar un punto de conexión
Escriba el vínculo al webhook y Seleccione Confirmar selección.
En la pestaña Filtros, agregue los nombres de los tipos de eventos que quiere filtrar en la suscripción y agregue los filtros de atributos de contexto que quiere usar en la suscripción. A continuación, seleccione Siguiente: Características adicionales en la parte inferior de la página.
Para habilitar la cola de mensajes fallidos y personalizar las directivas de reintento, seleccione Características adicionales.
Cuando haya terminado, seleccione Crear.
Actualización de suscripción de eventos
Para actualizar una suscripción de eventos para Azure Communication Services, siga estos pasos. En esta sección se muestra cómo actualizar una suscripción de eventos para Azure Communication Services para actualizar los eventos que desea recibir a través de Webhook.
Para actualizar una suscripción de eventos para el recurso de Azure Communication Services, inicie sesión primero en Azure Portal. En la esquina superior izquierda de la página, seleccione el recurso de Communication Services.
Seleccione la pestaña Eventos del menú de la izquierda.
Seleccione las suscripciones de eventos y seleccione la suscripción de eventos que desea actualizar.
En la página Suscripción de eventos, seleccione la pestaña Filtros. Seleccione los tipos de eventos que desea recibir en la suscripción de eventos.
Para habilitar la cola de mensajes fallidos y personalizar las directivas de reintento, seleccione Características adicionales.
Para actualizar el webhook para recibir eventos, seleccione Cambiar junto al vínculo de webhook y escriba el nuevo punto de conexión de webhook.
Eliminación de una suscripción a evento
Para eliminar una suscripción de eventos para Azure Communication Services, siga estos pasos.
Para eliminar una suscripción de eventos para el recurso de Azure Communication Services, inicie sesión primero en Azure Portal. En la esquina superior izquierda de la página, seleccione el recurso de Communication Services.
Seleccione la pestaña Eventos del menú de la izquierda.
Seleccione Suscripciones de eventos y seleccione la suscripción de eventos que desea eliminar.
En la página Suscripción de eventos, seleccione el botón Eliminar de la parte superior.
Pasos siguientes
- Para obtener una lista sobre los eventos de Communication Services, consulte Eventos de Communication Services.
- Para obtener una lista de controladores de eventos compatibles, consulte Controladores de eventos.
- Para obtener información acerca de los reintentos y las entregas de eventos, consulte Entrega y reintento de entrega de mensajes de Event Grid.
- Para obtener una introducción a Event Grid, vea Acerca de Event Grid.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Instalación de la CLI de Azure
- Un recurso de Azure Communication Services
- Cree un webhook para recibir eventos. Entrega de eventos de webhook
Registro del proveedor de recursos de Event Grid
En este artículo se describe cómo registrar el proveedor de recursos de Event Grid. Si usó Event Grid antes en la misma suscripción, vaya a la siguiente sección.
Ejecute el siguiente comando para registrar el proveedor:
az provider register --namespace Microsoft.EventGrid
El registro puede tardar unos instantes en finalizar. Para comprobar el estado, ejecute el comando siguiente:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Cuando
registrationState
seaRegistered
, estará preparado para continuar.
Creación de la suscripción de eventos
Para crear suscripciones de eventos para el recurso de Azure Communication Services, inicie sesión en la CLI de Azure. Para iniciar sesión, ejecute el comando az login
desde el terminal y proporcione sus credenciales. Ejecute el siguiente comando para crear la suscripción de eventos para el recurso:
Para crear una suscripción de eventos mediante la CLI de Azure, use el comando 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
Para obtener una lista sobre los eventos de Communication Services, consulte Eventos de Communication Services.
Lista de suscripciones de eventos
Para hacer una lista de todas las suscripciones de eventos existentes configuradas para un recurso de Azure Communication Services, mediante la CLI de Azure, use el comando az eventgrid event-subscription list
.
az eventgrid event-subscription list
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Actualización de suscripción de eventos
Para actualizar una suscripción de eventos existente mediante la CLI de Azure, use el comando 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
Eliminación de una suscripción a evento
Para eliminar una suscripción de eventos existente mediante la CLI de Azure, use el comando az eventgrid event-subscription delete
.
az eventgrid event-subscription delete
--name EventsWebhookSubscription
--source-resource-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>
Pasos siguientes
- Para obtener información sobre otros comandos, consulte CLI de Azure Event Grid.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- La versión más reciente del SDK de .NET Core para su sistema operativo.
- Obtenga la versión más reciente del SDK de administración de Microsoft Azure Event Grid de .NET.
- Obtenga la versión más reciente de la biblioteca de Azure Identity.
- Un recurso de Azure Communication Services.
Registro del proveedor de recursos de Event Grid
En este artículo se describe cómo registrar el proveedor de recursos de Event Grid. Si usó Event Grid antes en la misma suscripción, vaya a la siguiente sección.
En Azure Portal, realice los siguientes pasos:
En el menú de la izquierda, seleccione Suscripciones.
Seleccione la suscripción que desea usar para Event Grid en la lista de suscripciones.
En la página Suscripción, seleccione Proveedores de recursos en Configuración del menú izquierdo.
Busque Microsoft.EventGrid y confirme que el estado es No registrado.
Seleccione Microsoft.EventGrid en la lista de proveedores.
Seleccione Registrar en la barra de comandos.
Actualice para asegurarse de que el estado de Microsoft.EventGrid se cambia a Registrado.
Instalar el SDK
En primer lugar, instale la biblioteca de administración de Microsoft Azure Event Grid para .NET con NuGet:
dotnet add package Azure.ResourceManager.EventGrid;
Incluya el SDK de administración de Event Grid en el proyecto de C#:
using Microsoft.Azure.Management.EventGrid;
using Microsoft.Azure.Management.EventGrid.Models;
Autenticación con la biblioteca de Azure Identity
Requisitos previos:
- Cree una aplicación de Microsoft Entra y una entidad de servicio y configure un secreto de cliente o un certificado de confianza emitido por la entidad de certificación siguiendo las instrucciones aquí.
- Almacene el secreto o el certificado en Azure Keyvault.
- Conceda al colaborador o al propietario acceso a la suscripción de esa aplicación siguiendo las instrucciones aquí.
- Obtenga más información sobre cómo autorizar el acceso a los recursos de Event Grid aquí.
La biblioteca de Azure Identity proporciona compatibilidad con la autenticación de token de Microsoft Entra ID (anteriormente Azure Active Directory) a través del SDK de Azure. Proporciona un conjunto de implementaciones de TokenCredential que se pueden usar para construir clientes del SDK de Azure que admitan la autenticación de tokens de Microsoft Entra. Puede leer más sobre este tema aquí.
- Incluya la biblioteca cliente de Azure Identity para .NET con NuGet:
dotnet add package Azure.Identity;
dotnet add package Azure.Security.KeyVault.Secrets
- Inclusión de la biblioteca de Azure Identity en el proyecto de C#
using Microsoft.Azure.Identity;
using Azure.Security.KeyVault.Secrets
Puede pasar las credenciales secretas o las credenciales de certificado para obtener el token de acceso, en función de cómo esté configurada la entidad de servicio.
Obtención del token de acceso mediante credenciales secretas
Para obtener las credenciales secretas, debe leerlas en el Keyvault que creó en Requisito previo n.º 2 mediante 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();
Obtención del token de acceso mediante credenciales de certificado
Para obtener las credenciales de certificado, debe leerlas en el Keyvault que creó en Requisito previo n.º 2 mediante CertificateClient.
Obtenga más información sobre la entidad de configuración de aplicaciones de Microsoft Entra aquí
// 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();
Autenticación de EventGridManagementClient con token de acceso mediante credenciales de certificado o secreto
// 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';
Creación de la suscripción a eventos
En este ejemplo de código se muestra cómo crear la suscripción de eventos para el punto de conexión del suscriptor de 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);
Actualización de suscripción de eventos
En este ejemplo de código se muestra cómo actualizar la suscripción de eventos para agregar más eventos, que quiere recibir en el punto de conexión del suscriptor de 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)));
Eliminación de una suscripción de evento
En este ejemplo de código se muestra cómo eliminar la suscripción de eventos para el punto de conexión del suscriptor de webhook.
string webhookUri = $"<webhookUri>";
string resourceId="/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>";
await eventGridClient.EventSubscriptions.DeleteAsync(
scope: resourceId,
eventSubscriptionName: "<eventSubscriptionName>");
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Instale el módulo Azure Az PowerShell.
- Un recurso de Azure Communication Services
- Cree un webhook para recibir eventos. Entrega de eventos de webhook
Registro del proveedor de recursos de Event Grid
En este artículo se describe cómo registrar el proveedor de recursos de Event Grid. Si usó Event Grid antes en la misma suscripción, vaya a la siguiente sección.
- Ejecute el siguiente comando:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
- Puede tardar unos instantes en finalizarse el registro. Para comprobar el estado, ejecute:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Cuando RegistrationStatus
sea Registered
, estará preparado para continuar.
Creación de la suscripción de eventos
En primer lugar, asegúrese de instalar el módulo Azure Communication Services Az.EventGrid
con el siguiente comando.
PS C:\> Install-Module Az.EventGrid
Inicie sesión en la suscripción a Azure con el comando Connect-AzAccount y siga las instrucciones de la pantalla:
Connect-AzAccount
Si la identidad está asociada a más de una suscripción, establezca la suscripción activa en la suscripción del recurso Web PubSub que quiera mover.
$context = Get-AzSubscription -SubscriptionId <subscription-id> Set-AzContext $context
Para crear una suscripción de eventos mediante el Azure PowerShell, use el comando 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>"
Para obtener una lista sobre los eventos de Communication Services, consulte Eventos de Communication Services.
Lista de suscripciones de eventos
Para hacer una lista de todas las suscripciones de eventos existentes configuradas para un recurso de Azure Communication Services, mediante el Azure PowerShell, use el comando Get-AzEventGridSubscription
.
Get-AzEventGridSubscription
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>"
Actualización de suscripción de eventos
Para actualizar una suscripción de eventos existente mediante el Azure PowerShell, use el comando 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"
Eliminación de una suscripción a evento
Para eliminar una suscripción de eventos existente mediante el Azure PowerShell, use el comando Remove-AzEventGridSubscription
.
Get-AzResource
-ResourceId "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Communication/CommunicationServices/<acsResourceName>" | Remove-AzEventGridSubscription -EventSubscriptionName ES2
Pasos siguientes
- Para obtener información sobre otros comandos, consulte módulo de PowerShell Az.EventGrid.
Oharrak
https://aka.ms/ContentUserFeedback.
Laster erabilgarri: 2024an, GitHub-eko arazoak edukiari buruzko oharrak bidaltzeko mekanismo gisa kenduko dugu apurka-apurka, eta oharrak bidaltzeko sistema berri batekin ordeztuko. Informazio gehiagorako, ikusi:Bidali eta ikusi honi buruzko oharrak: