Entrega push da Grade de Eventos do Azure – Conceitos

Este artigo descreve os conceitos da Grade de Eventos principal relacionados à entrega por push.

Observação

Para conceitos da Grade de Eventos relacionados ao novo modelo de recurso que usa namespaces, confira este artigo de conceitos.

Eventos

Um evento é a menor quantidade de informações que descreve por completo algo que aconteceu em um sistema. Todos os eventos apresentam informações comuns como a source do evento, a time em que o evento ocorreu e um identificador exclusivo. Cada evento também apresenta informações específicas que são relevantes somente para o tipo de evento em questão. Por exemplo, um evento sobre um novo arquivo que está sendo criado no Armazenamento do Azure traz detalhes sobre o arquivo, como o valor lastTimeModified. Um evento dos Hubs de Eventos tem a URL do arquivo de Captura. Um evento sobre uma nova ordem no seu microsserviço Pedidos pode ter um atributo orderId e um atributo URL à representação de estado da ordem.

CloudEvents

A Grade de Eventos usa a especificação CloudEvents 1.0 padrão aberta da CNCF por meio da associação de protocolo HTTP com o formato JSON. O CloudEvents é uma especificação de evento extensível com extensões documentadas para requisitos específicos. Ao usar a Grade de Eventos, o CloudEvents é o formato de evento preferencial devido aos casos de uso bem documentados (modos para transferir eventos, formatos de eventos etc.), extensibilidade e interoperabilidade aprimorada. O CloudEvents aprimora a interoperabilidade, fornecendo um formato comum de evento para publicar e consumir eventos. Permite ferramentas uniformes e formas padrão de roteamento e manipulação de eventos.

A seguinte tabela mostra o suporte atual para a especificação CloudEvents:

Modo de conteúdo do CloudEvents Com suporte?
JSON estruturado Sim
Binary No

O tamanho máximo permitido para um evento é 1 MB. Eventos acima de 64 KB são cobrados em incrementos de 64 KB. Para obter as propriedades que são enviadas em um evento, consulte Esquema de CloudEvents.

Outros formatos

A Grade de Eventos também dá suporte ao formato de esquema proprietário da Grade de Eventos para editores de eventos do sistema. Configure a Grade de Eventos para fornecer eventos usando o formato CloudEvents.

Publicadores

Um editor é o aplicativo que envia eventos para a Grade de Eventos. Pode ser o mesmo aplicativo em que os eventos se originaram, a fonte do evento. Os serviços do Azure publicam eventos na Grade de Eventos para anunciar uma ocorrência nos respectivos serviços. Você pode publicar eventos em seu próprio aplicativo. As organizações que hospedam serviços fora do Azure também podem publicar eventos por meio da Grade de Eventos.

Origens de eventos

A origem de um evento é onde o evento acontece. Cada origem do evento está relacionada a um ou mais tipos de evento. Por exemplo, o Armazenamento do Azure é a origem dos eventos criados pelo blob. O Hub IoT é a origem do evento para os eventos criados pelo dispositivo. Seu aplicativo é a origem dos eventos personalizados definidos. As origens do evento são responsáveis por enviar eventos para a Grade de Eventos.

Parceiros

Um parceiro é uma espécie de publicador que envia eventos de seu sistema para disponibilizá-los aos clientes do Azure. Um parceiro normalmente é um provedor SaaS ou ERP que se integra a Grade de Eventos do Azure para ajudar os clientes a realizar casos de uso controlados por eventos em plataformas. Os parceiros não só podem publicar eventos em Grade de Eventos do Azure, mas também podem receber eventos dele. Esses recursos são habilitados por meio do recurso Eventos do Parceiro.

Tópicos

Um tópico contém eventos que foram publicados na Grade de Eventos. Normalmente, você usa um recurso de tópico para uma coleção de eventos relacionados. Para responder a determinados tipos de eventos, os assinantes (um serviço do Azure ou outros aplicativos) decidem os tópicos que eles vão assinar. Há vários tipos de tópicos: tópicos personalizados, tópicos do sistema e tópicos de parceiros.

Tópicos personalizados

Os tópicos personalizados também são tópicos usados com seus aplicativos. Eles foram o primeiro tipo de tópico projetado para criar integrações controladas por eventos para aplicativos personalizados. Como um recurso autônomo, eles expõem um ponto de extremidade próprio no qual os eventos são publicados.

Os tópicos personalizados dão suporte à entrega push. Consulte quando usar a entrega push ou pull para ajudar a decidir se a entrega push é a abordagem certa, considerando seus requisitos. Talvez você também queira se referir ao artigo Tópicos personalizados.

Tópicos do sistema

Os Tópicos do sistema são tópicos internos fornecidos pelos serviços do Azure, como Armazenamento do Azure, Hubs de Eventos do Azure e Barramento de Serviço do Azure. Você pode criar tópicos do sistema em sua assinatura do Azure e assiná-los. Para obter mais informações, consulte Visão geral dos tópicos do sistema.

Tópicos de parceiros

Os tópicos do parceiro são um tipo de tópico usado para assinar eventos publicados por um parceiro. O recurso que habilita esse tipo de integração é chamado de Eventos de Parceiro. Por meio dessa integração, você obtém um tópico de parceiro em que eventos de um sistema de parceiros são disponibilizados. Depois de ter um tópico de parceiro, crie uma assinatura de evento como faria para qualquer outro tipo de tópico.

Assinaturas de evento

Observação

Para obter informações sobre assinaturas de evento em um tópico de namespace, confira este artigo de conceitos.

Uma assinatura informa à Grade de Eventos do Azure com eventos em um tópico você está interessado em receber. Ao criar uma assinatura, você fornece um ponto de extremidade para processar o evento. Os pontos de extremidade podem ser um webhook ou um recurso de serviço do Azure. Você pode filtrar os eventos que são enviados a um ponto de extremidade. É possível filtrar por tipo de evento ou assunto do evento, por exemplo. Para obter mais informações, confira Assinaturas de eventos e esquema CloudEvents. As assinaturas de eventos para tópicos personalizados, do sistema e de parceiros, bem como de domínios, apresentam as mesmas propriedades de recursos.

Para ver exemplos de como criar assinaturas para tópicos personalizados, do sistema e de parceiros, bem como de domínios, confira:

Para obter informações sobre como obter as assinaturas de Grade de Eventos atuais, confira Consultar assinaturas de Grade de Eventos.

Validade da assinatura de evento

Você pode definir um tempo de expiração para as assinaturas de evento associadas a tópicos personalizados, do sistema, de parceiros e de domínios, bem como para assinaturas de domínio. A assinatura do evento é expirada automaticamente após essa data. Defina uma expiração para assinaturas de eventos que são necessárias apenas por um tempo limitado e você não quer se preocupar com a limpeza dessas assinaturas. Por exemplo, ao criar uma assinatura de evento para testar um cenário, você pode querer definir uma expiração.

Para um exemplo de configuração de expiração, consulte Inscrever-se com filtros avançados.

Manipuladores de eventos

Sob a perspectiva da Grade de Eventos, um manipulador de eventos é o local em que o evento é enviado quando a entrega push é usada. O manipulador usa alguma ação adicional para processar o evento. Quando a entrega push é usada, a Grade de Eventos dá suporte a vários tipos de manipuladores. Você pode usar um serviço do Azure compatível ou seu próprio webhook como o manipulador. Dependendo do tipo de manipulador, a Grade de Eventos segue diferentes mecanismos para assegurar a entrega do evento. Para manipuladores de eventos de webhook HTTP, o evento é repetido até que o manipulador retorne um código de status de 200 – OK. Para o Armazenamento do Microsoft Azure Queue, os eventos são repetidos até que o serviço de fila processe com êxito o envio de mensagens para a fila.

Para obter informações sobre como entregar eventos para qualquer um dos manipuladores de Grade de Eventos compatíveis, consulte Manipuladores de evento na Grade de Eventos do Azure.

Segurança

A Grade de Eventos fornece segurança na assinatura de tópicos e na publicação de eventos em tópicos. Ao fazer a assinatura, você precisa ter permissões adequadas no tópico da Grade de Eventos. Se você estiver usando a entrega push, o manipulador de eventos será um serviço do Azure e uma identidade gerenciada será usada para autenticar a Grade de Eventos e a identidade gerenciada deverá ter uma função RBAC apropriada. Por exemplo, se você estiver enviando eventos aos Hubs de Eventos, a identidade gerenciada usada na assinatura do evento deverá ser um membro da função Remetente de Dados dos Hubs de Eventos. Ao publicar, você deve ter um token SAS ou autenticação de chave para o tópico. Para saber mais, confira Event Grid security and authentication (Segurança e autenticação da Grade de Eventos).

Entrega de eventos

Se a Grade de Eventos não puder confirmar que um evento foi recebido pelo ponto de extremidade do assinante quando a entrega push for usada, ela repetirá a entrega do evento. Para saber mais, confira Event Grid message delivery and retry (Entrega e repetição de mensagens da Grade de Eventos).

Separação em lotes

Ao usar um tópico personalizado, os eventos sempre devem ser publicados em uma matriz. Isso pode ser um lote de um para cenários de baixa produtividade.

Definições de tipo de evento embutido

Se você for um parceiro, poderá definir os tipos de eventos que disponibilizará aos clientes ao criar um canal. Com as definições de tipo de evento embutidas, os assinantes podem filtrar com facilidade os eventos, considerando o tipo de evento ao configurar uma assinatura de evento.

Zonas de disponibilidade

As zonas de disponibilidade do Azure são locais fisicamente separados em cada região do Azure que são tolerantes a falhas locais. Elas são conectadas por uma rede de alto desempenho com uma latência de viagem de ida e volta de menos de 2 milissegundos. Cada zona de disponibilidade é composta por um ou mais datacenters equipados com energia, resfriamento e infraestrutura de rede independentes. Se uma zona é afetada, os serviços regionais, a capacidade e a alta disponibilidade têm suporte nas duas zonas restantes. Para obter informações sobre zonas de disponibilidade, confira Regiões e zonas de disponibilidade.

Próximas etapas