Suporte do CloudNative CloudEvent para a biblioteca Azure.Messaging.EventGrid para .NET

Essa biblioteca pode ser usada para habilitar a publicação de CloudNative CloudEvents usando a biblioteca Grade de Eventos do Azure.

Introdução

Instalar o pacote

Instale a biblioteca de clientes do NuGet:

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

Pré-requisitos

Você deve ter uma assinatura do Azure e um grupo de recursos do Azure com um tópico ou domínio personalizado da Grade de Eventos. Siga este tutorial passo a passo para registrar o provedor de recursos da Grade de Eventos e criar tópicos da Grade de Eventos usando o portal do Azure. Há um tutorial semelhante usando a CLI do Azure.

Autenticar o cliente

Para que a biblioteca de clientes interaja com um tópico ou domínio, você precisará do endpoint tópico da Grade de Eventos e de um credential, que pode ser criado usando a chave de acesso do tópico.

Você pode encontrar o ponto de extremidade do tópico da Grade de Eventos no Portal do Azure ou usando o snippet da CLI do Azure abaixo.

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

A chave de acesso também pode ser encontrada por meio do portal ou usando o snippet da CLI do Azure abaixo:

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

Criando e autenticando EventGridPublisherClient

Depois de ter a chave de acesso e o ponto de extremidade do tópico, você poderá criar o cliente do editor da seguinte maneira:

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

Principais conceitos

Para obter informações sobre conceitos gerais da Grade de Eventos: Conceitos em Grade de Eventos do Azure.

Para obter informações detalhadas sobre os conceitos da biblioteca de clientes da Grade de Eventos: Biblioteca de Clientes da Grade de Eventos

Exemplos

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);

Solução de problemas

Para obter informações de solução de problemas, consulte a documentação da Biblioteca de Clientes da Grade de Eventos.

Próximas etapas

Veja mais exemplos aqui para usos comuns da biblioteca.

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.