Entrega por push da Grade de Eventos do Azure - conceitos

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

Nota

Para conceitos de Grade de Eventos relacionados ao novo modelo de recursos que usa namespaces, consulte este artigo de conceitos .

Eventos

Um evento é a menor quantidade de informação que descreve completamente algo que aconteceu em um sistema. Cada evento tem informações comuns, como source o evento, time o evento ocorrido e um identificador único. Cada evento também tem informações específicas que só são relevantes para o tipo específico de evento. Por exemplo, um evento sobre um novo ficheiro que está a ser criado no Armazenamento do Azure inclui detalhes sobre o ficheiro, tal como o valor lastTimeModified. Um evento de Hubs de Eventos tem o URL do arquivo Capture. Um evento sobre uma nova ordem em seu microsserviço Pedidos pode ter um atributo e um orderIdURL atributo para a representação de estado da ordem.

CloudEventos

A Grade de Eventos usa a especificação CloudEvents 1.0 padrão aberto da CNCF usando a ligação do 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 preferido por causa de seus casos de uso bem documentados (modos de transferência de eventos, formatos de eventos, etc.), extensibilidade e interoperabilidade aprimorada. O CloudEvents melhora a interoperabilidade fornecendo um formato de evento comum para publicação e consumo de eventos. Ele permite ferramentas uniformes e formas padrão de roteamento e manipulação de eventos.

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

Modo de conteúdo do CloudEvents Suportado?
JSON estruturado Sim
Binário Não

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

Outros formatos

A Grade de Eventos também suporta o formato proprietário de esquema de Grade de Eventos para editores de eventos do sistema. Você pode configurar a grade de eventos para entregar eventos usando o formato CloudEvents .

Editores

Um editor é o aplicativo que envia eventos para a Grade de Eventos. Pode ser a mesma aplicação onde os eventos se originaram, a fonte do evento. Os serviços do Azure publicam eventos na Grade de Eventos para anunciar uma ocorrência em seu serviço. Pode publicar eventos a partir da sua própria aplicação. As organizações que hospedam serviços fora do Azure também podem publicar eventos por meio da Grade de Eventos.

Origens de eventos

Uma fonte de evento é onde o evento acontece. Cada origem de evento está relacionada com um ou mais tipos de evento. Por exemplo, o Armazenamento do Azure é a origem de evento para eventos criados por blobs. O Hub IoT é a origem de evento para eventos criados por dispositivos. A sua aplicação é a origem de evento para os eventos personalizados que definir. As origens de eventos são responsáveis pelo envio de eventos para o Event Grid.

Parceiros

Um parceiro é um tipo de editor que envia eventos de seu sistema para disponibilizá-los aos clientes do Azure. Normalmente, um parceiro é um fornecedor de SaaS ou ERP que se integra com a Grelha de Eventos do Azure para ajudar os clientes a perceber casos de utilização orientados por eventos entre plataformas. Os parceiros não só podem publicar eventos na Grade de Eventos do Azure, mas também podem receber eventos dela. Esses recursos são habilitados por meio do recurso Eventos de parceiros .

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 subscritores (um serviço do Azure ou outras aplicações) decidem quais os tópicos a subscrever. Existem vários tipos de tópicos: tópicos personalizados, tópicos do sistema e tópicos de parceiros.

Tópicos personalizados

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

Tópicos personalizados suportam entrega push. Consulte quando usar a entrega por push ou push para ajudá-lo a decidir se a entrega por push é a abordagem certa de acordo com suas necessidades. Você também pode querer consultar o artigo Tópicos personalizados.

Tópicos de sistema

Os tópicos do sistema são tópicos internos fornecidos pelos serviços do Azure, como o Armazenamento do Azure, os Hubs de Eventos do Azure e o 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 para parceiros

Os tópicos de parceiros são um tipo de tópico utilizado para subscrever eventos publicados por um parceiro. O recurso que permite esse tipo de integração é chamado de Eventos de Parceiros. Através dessa integração, você obtém um tópico de parceiro onde os eventos de um sistema de parceiros são disponibilizados. Depois de ter um tópico de parceiro, você cria uma assinatura de evento como faria para qualquer outro tipo de tópico.

Subscrições de eventos

Nota

Para obter informações sobre assinaturas de eventos em um tópico de namespace, consulte este conceito : artcle.

Uma subscrição indica à Grelha de Eventos quais os eventos sobre um tópico que está interessado em receber. Ao criar uma assinatura, você fornece um ponto de extremidade para manipular 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 para um ponto de extremidade. Você pode filtrar por tipo de evento ou assunto do evento, por exemplo. Para obter mais informações, consulte Assinaturas de eventos e esquema do CloudEvents. As subscrições de eventos para tópicos personalizados, de sistema e de parceiros, bem como Domínios, apresentam as mesmas propriedades de recurso.

Para obter exemplos de criação de assinaturas para tópicos personalizados, de sistema e de parceiros, bem como Domínios, consulte:

Para obter informações sobre como obter suas assinaturas atuais da Grade de Eventos, consulte Consultar assinaturas da Grade de Eventos.

Expiração da subscrição de eventos

Pode definir um tempo de expiração para subscrições de eventos associadas a tópicos personalizados, de sistema, de parceiros e de domínio, bem como a subscrições de Domínio. A subscrição do evento expirará 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 em limpar essas assinaturas. Por exemplo, ao criar uma assinatura de evento para testar um cenário, convém definir uma expiração.

Para obter um exemplo de como definir uma expiração, consulte Inscrever-se com filtros avançados.

Processadores de eventos

De uma perspetiva de Grade de Eventos, um manipulador de eventos é o local para onde o evento é enviado ao usar a entrega por push. O manipulador toma algumas medidas adicionais para processar o evento. Ao usar a entrega por push, a Grade de Eventos oferece suporte a vários tipos de manipulador. Você pode usar um serviço do Azure com suporte ou seu próprio webhook como manipulador. Dependendo do tipo de manipulador, a Grade de Eventos segue diferentes mecanismos para garantir a entrega do evento. Para manipuladores de eventos HTTP webhook, o evento é repetido até que o manipulador retorne um código de status de 200 – OK. Para a Fila de Armazenamento do Azure, os eventos são repetidos até que o serviço de Fila processe com êxito o envio de mensagens por push para a fila.

Para obter informações sobre como entregar eventos a qualquer um dos manipuladores de Grade de Eventos com suporte, consulte Manipuladores de eventos na Grade de Eventos do Azure.

Segurança

A Grelha de Eventos fornece segurança para subscrever tópicos e ao publicar eventos em tópicos. Ao se inscrever, você deve ter permissões adequadas no tópico Grade de Eventos. Se estiver usando a entrega por push, o manipulador de eventos for um serviço do Azure e uma identidade gerenciada for usada para autenticar a Grade de Eventos, a identidade gerenciada deverá ter uma função RBAC apropriada. Por exemplo, se enviar eventos para Hubs de Eventos, a identidade gerenciada usada na assinatura de eventos deverá ser um membro da função Remetente de Dados de Hubs de Eventos. Ao publicar, você deve ter um token SAS ou autenticação de chave para o tópico. Para obter mais informações, consulte 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 ao usar a entrega por push, ele entregará novamente o evento. Para obter mais informações, consulte Entrega e repetição de mensagens da Grade de Eventos.

Criação de batches

Quando você usa um tópico personalizado, os eventos sempre devem ser publicados em uma matriz. Este pode ser um lote de um para cenários de baixa taxa de transferência.

Definições de tipo de evento embutido

Se for um parceiro, pode definir os tipos de evento que está a disponibilizar aos clientes quando cria um Canal. Com definições de tipo de evento embutidas, os assinantes podem filtrar facilmente eventos de acordo com seu tipo de evento ao configurar uma assinatura de evento.

Zonas de disponibilidade

As zonas de disponibilidade do Azure são locais fisicamente separados dentro de cada região do Azure que são tolerantes a falhas locais. Eles são conectados por uma rede de alto desempenho com uma latência de ida e volta de menos de 2 milissegundos. Cada zona de disponibilidade é composta por um ou mais data centers equipados com infraestrutura independente de energia, resfriamento e rede. Se uma zona for afetada, os serviços regionais, a capacidade e a alta disponibilidade serão suportados pelas duas zonas restantes. Para obter mais informações sobre zonas de disponibilidade, consulte Regiões e zonas de disponibilidade.

Próximos passos