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 .
evento
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 orderId
atributo e um URL
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 artigo de conceitos .
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:
- Criar tópico personalizado e inscrever-se em eventos usando a CLI do Azure
- Exemplos do Azure PowerShell para Grade de Eventos
- Modelos do Azure Resource Manager para Grade de Eventos
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.
Conteúdos relacionados
- Para obter uma introdução ao Event Grid, veja Sobre o Azure Event Grid.
- Para começar a usar tópicos personalizados, consulte Criar e rotear eventos personalizados com a Grade de Eventos do Azure.