Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 | Tipo |
|---|---|
| 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
Para poder usar essa extensão de associação em seu aplicativo, certifique-se de que o arquivo dehost.json na raiz do seu projeto contém esta extensionBundle referência:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Neste exemplo, o version valor de instrui o host Functions a usar uma versão de [4.0.0, 5.0.0) pacote que seja pelo menos 4.0.0 , mas menor que 5.0.0, que inclui todas as versões potenciais do 4.x. Essa notação mantém efetivamente seu aplicativo na versão secundária mais recente disponível do pacote de extensão v4.x.
Quando possível, você deve usar a versão principal mais recente do pacote de extensão e permitir que o tempo de execução mantenha automaticamente a versão secundária mais recente. Você pode visualizar o conteúdo do pacote mais recente na página de lançamento dos pacotes de extensão. Para obter mais informações, consulte Pacotes de extensão do Azure Functions.
Considerações para a extensão Grade de Eventos:
- As versões de extensão de grade de eventos anteriores a 3.x não suportam o esquema CloudEvents. Para consumir esse esquema, use um gatilho HTTP.
- A ligação de saída da Grade de Eventos só está disponível para Funções 2.x e superiores.
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 Streame 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 | Descrição |
|---|---|
| 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 | Descrição |
|---|---|
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 | Descrição |
|---|---|
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 | Descrição |
|---|---|
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