Compatibilidad de CloudNative CloudEvent con la biblioteca Azure.Messaging.EventGrid para .NET

Esta biblioteca se puede usar para habilitar la publicación de CloudNative CloudEvents mediante la biblioteca Azure Event Grid.

Introducción

Instalar el paquete

Instale la biblioteca cliente desde NuGet:

dotnet add package Microsoft.Azure.Messaging.EventGrid.CloudNativeCloudEvents --prerelease

Requisitos previos

Debe tener una suscripción de Azure y un grupo de recursos de Azure con un tema o dominio personalizados de Event Grid. Siga este tutorial paso a paso para registrar el proveedor de recursos de Event Grid y crear temas de Event Grid mediante el Azure Portal. Hay un tutorial similar con la CLI de Azure.

Autenticar el cliente

Para que la biblioteca cliente interactúe con un tema o dominio, necesitará el endpoint del tema de Event Grid y un credential, que se puede crear mediante la clave de acceso del tema.

Puede encontrar el punto de conexión del tema de Event Grid en Azure Portal o mediante el fragmento de código de la CLI de Azure siguiente.

az eventgrid topic show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"

La clave de acceso también se puede encontrar a través del portal o mediante el siguiente fragmento de código de la CLI de Azure:

az eventgrid topic key list --name <your-resource-name> --resource-group <your-resource-group-name> --query "key1"

Creación y autenticación EventGridPublisherClient

Una vez que tenga la clave de acceso y el punto de conexión del tema, puede crear el cliente del publicador de la siguiente manera:

EventGridPublisherClient client = new EventGridPublisherClient(
    new Uri("<endpoint>"),
    new AzureKeyCredential("<access-key>"));

Conceptos clave

Para obtener información sobre los conceptos generales de Event Grid: Conceptos de Azure Event Grid.

Para obtener información detallada sobre los conceptos de la biblioteca cliente de Event Grid: Biblioteca cliente de Event Grid

Ejemplos

EventGridPublisherClient client = new EventGridPublisherClient(
        new Uri(TestEnvironment.CloudEventTopicHost),
        new AzureKeyCredential(TestEnvironment.CloudEventTopicKey));

var cloudEvent =
    new CloudEvent
    {
        Type = "record",
        Source = new Uri("http://www.contoso.com"),
        Data = "data"
    };
await client.SendCloudNativeCloudEventAsync(cloudEvent);

Solución de problemas

Para obtener información sobre la solución de problemas, consulte la documentación de la biblioteca cliente de Event Grid.

Pasos siguientes

Vea más ejemplos aquí para ver los usos comunes de la biblioteca.

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.