Associações da Grade de Eventos do Azure para o Azure Functions
Esta referência mostra como se conectar à Grade de Eventos do Azure usando gatilhos e associações do Azure Functions.
A Grade de Eventos é um serviço do Azure que envia solicitações HTTP para notificá-lo sobre eventos que acontecem em editores. Um editor é o serviço ou recurso que origina o evento. Por exemplo, uma conta de armazenamento de blob do Azure é um editor e um carregamento ou exclusão de blob é um evento. Alguns serviços do Azure têm suporte interno para publicar eventos na Grade de Eventos.
Os manipuladores de eventos recebem e processam eventos. O Azure Functions é um dos vários serviços do Azure que têm suporte interno para manipular eventos da Grade de Eventos. Functions fornece um gatilho de Grade de Eventos, que invoca uma função quando um evento é recebido da Grade de Eventos. Uma associação de saída semelhante pode ser usada para enviar eventos de sua função para um tópico personalizado da Grade de Eventos.
Você também pode usar um gatilho HTTP para manipular eventos de grade de eventos. Para saber mais, consulte Receber eventos em um ponto de extremidade HTTP. Recomendamos o uso do gatilho Grade de Eventos sobre o gatilho HTTP.
Ação | Type |
---|---|
Executar uma função quando um evento de Grade de Eventos é enviado | Acionador |
Envia um evento da Grade de Eventos | Vinculação de saída |
Controle o código de status HTTP retornado | Ponto de extremidade HTTP |
Instalar a extensão
O pacote de extensão NuGet que você instala depende do modo C# que você está usando em seu aplicativo de função:
As funções são executadas em um processo de trabalho C# isolado. Para saber mais, consulte Guia para executar o C# Azure Functions em um processo de trabalho isolado.
A funcionalidade da extensão varia dependendo da versão da extensão:
Adicione a extensão ao seu projeto instalando o pacote NuGet, versão 3.x.
Instalar pacote
A extensão Event Grid faz parte de um pacote de extensão, que é especificado em seu arquivo de projeto host.json. Talvez seja necessário modificar esse pacote para alterar a versão da vinculação da Grade de Eventos ou se os pacotes ainda não estiverem instalados. Para saber mais, consulte Pacote de extensão.
Você pode adicionar esta versão da extensão do pacote de extensão v3 adicionando ou substituindo a seguinte configuração em seu host.json
arquivo:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Para saber mais, consulte Atualizar suas extensões.
Tipos de vinculação
Os tipos de associação suportados para .NET dependem da versão da extensão e do modo de execução C#, que pode ser um dos seguintes:
Uma biblioteca de classes de processo de trabalho isolada compilada função C# é executada em um processo isolado do tempo de execução.
Escolha uma versão para ver os detalhes do tipo de vinculação para o modo e a versão.
O processo de trabalho isolado suporta tipos de parâmetros de acordo com as tabelas abaixo. O suporte para vinculação a Stream
e a tipos do Azure.Messaging está em visualização.
Gatilho de grade de eventos
Quando você deseja que a função processe um único evento, o gatilho Grade de Eventos pode se vincular aos seguintes tipos:
Tipo | Description |
---|---|
Tipos serializáveis JSON | Functions tenta desserializar os dados JSON do evento em um tipo de objeto CLR (POCO) simples. |
string |
O evento como uma cadeia de caracteres. |
BinaryData1 | Os bytes da mensagem do evento. |
CloudEvent1 | O objeto do evento. Use quando a Grade de Eventos estiver configurada para entrega usando o esquema CloudEvents. |
EventGridEvent1 | O objeto do evento. Use quando a Grade de Eventos estiver configurada para entregar usando o esquema de Grade de Eventos. |
Quando você deseja que a função processe um lote de eventos, o gatilho Grade de Eventos pode se vincular aos seguintes tipos:
Tipo | Description |
---|---|
CloudEvent[] 1º,EventGridEvent[] 1º,string[] ,BinaryData[] 1 |
Uma matriz de eventos do lote. Cada entrada representa um evento. |
1 Para usar esses tipos, você precisa fazer referência a Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 ou posterior e às dependências comuns para associações de tipo SDK.
Vinculação de saída da grade de eventos
Quando você deseja que a função escreva um único evento, a associação de saída Grade de Eventos pode ser vinculada aos seguintes tipos:
Tipo | Description |
---|---|
string |
O evento como uma cadeia de caracteres. |
byte[] |
Os bytes da mensagem do evento. |
Tipos serializáveis JSON | Um objeto que representa um evento JSON. Functions tenta serializar um tipo de objeto CLR (POCO) simples em dados JSON. |
Quando você deseja que a função escreva vários eventos, a associação de saída da Grade de Eventos pode ser vinculada aos seguintes tipos:
Tipo | Description |
---|---|
T[] onde T é um dos tipos de evento único |
Uma matriz que contém vários eventos. Cada entrada representa um evento. |
Para outros cenários de saída, crie e use um EventGridPublisherClient com outros tipos de Azure.Messaging.EventGrid diretamente. Consulte Registrar clientes do Azure para obter um exemplo de como usar a injeção de dependência para criar um tipo de cliente a partir do SDK do Azure.
host.json configurações
O gatilho de Grade de Eventos usa uma solicitação HTTP de webhook, que pode ser configurada usando as mesmas configurações de host.json que o Gatilho HTTP.
Próximos passos
- Se você tiver dúvidas, envie um problema para a equipe aqui
- Gatilho de grade de eventos
- Vinculação de saída da grade de eventos
- Executar uma função quando um evento de Grade de Eventos é enviado
- Enviar um evento da Grade de Eventos