Um evento é um registro de dados sobre alterações de status. Quando se cria um recurso, se atualiza uma configuração ou um usuário executa uma ação, o serviço responsável captura essa alteração e a publica no EventBridge.
Todos os eventos estão em conformidade com a especificação CloudEvents 1.0, um padrão aberto mantido pela Cloud Native Computing Foundation (CNCF). Isso garante um formato de evento consistente e portátil em todas as origens de eventos.
Estrutura do evento
Todo evento consiste em duas partes:
Atributos de contexto: metadados que identificam e descrevem o evento (
source,type,ide outros definidos pela especificação CloudEvents).Payload de dados: conteúdo do evento, que varia conforme a origem.
Os campos mais importantes são source e type. Juntos, eles identificam a origem do evento e o que ocorreu:
{
"source": "acs:aliyuncvc",
"type": "aliyuncvc:MeetingEvent:MemberOperate",
...
}
Neste trecho, source identifica o serviço de origem e type identifica o evento específico (uma operação de membro em uma reunião).
O exemplo a seguir mostra um evento completo publicado no EventBridge:
{
"specversion": "1.0",
"id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
"source": "acs:aliyuncvc",
"type": "aliyuncvc:MeetingEvent:MemberOperate",
"subject": "acs.aliyuncvc:cn-hangzhou:{AccountId}:215672",
"time": "2020-11-19T21:04:41+08:00",
"data": {
"meetingName": "swqd",
"groupId": "456",
"action": "camera_off",
"time": 1590592527490,
"userId": "199525",
"meetingUUID": "hz-20864c8f-b10d-45cd-9935-884bca1b****"
},
"aliyunaccountid": "123456789098****",
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",
"aliyuneventbusname": "default",
"aliyunregionid": "cn-hangzhou",
"aliyunpublishaddr": "172.25.XX.XX"
}
Atributos padrão do CloudEvents
A especificação CloudEvents 1.0 define estes atributos. O EventBridge os utiliza para roteamento, consulta e deduplicação de eventos.
Atributos obrigatórios
**id** (String)
Identificador exclusivo do evento. A combinação de source + id deve ser exclusiva para cada evento distinto. Se um erro de rede causar o reenvio do mesmo evento, ele poderá manter o mesmo id. Os consumidores consideram eventos com valores idênticos de source e id como duplicatas. O EventBridge usa o id para rastrear eventos durante o roteamento até os destinos.
Exemplo: 45ef4dewdwe1-7c35-447a-bd93-fab****
**source** (String)
Serviço que produziu o evento. Este valor identifica o contexto da ocorrência, incluindo o tipo de origem e o mecanismo de publicação. Os produtores devem garantir que source + id seja exclusivo para cada evento.
Exemplo: acs:aliyuncvc
**specversion** (String)
Versão da especificação CloudEvents à qual o evento está em conformidade.
Exemplo: 1.0
**type** (String)
Tipo do evento, relacionado à sua origem. O EventBridge usa este valor para roteamento, consulta e aplicação de políticas. O produtor define o formato, que pode incluir informações de versão.
Exemplo: aliyuncvc:MeetingEvent:MemberOperate
Atributos opcionais
**datacontenttype** (String)
Tipo de conteúdo do atributo data. O EventBridge suporta apenas application/json;charset=utf-8.
**dataschema** (URI)
URI que aponta para o esquema do atributo data.
**subject** (String)
Assunto do evento no contexto da origem. Contém Alibaba Cloud Resource Names (ARNs) que identificam os recursos envolvidos. Utilize este atributo para filtragem de assinaturas quando source sozinho não for suficientemente específico.
Exemplo: acs.aliyuncvc:cn-hangzhou:{AccountId}:215672
**time** (Timestamp)
Carimbo de data/hora da ocorrência do evento. Se o horário exato for desconhecido, o produtor poderá definir outro valor, como o horário atual. No entanto, todos os produtores da mesma origem devem defina o parâmetro source com o mesmo valor.
Exemplo: 2020-11-19T21:04:41+08:00
**data** (Struct)
Payload do evento. A origem determina a estrutura, que contém os detalhes do ocorrido.
Atributos de extensão da Alibaba Cloud
O EventBridge adiciona os seguintes atributos a cada evento após o recebimento. Estes atributos não fazem parte da especificação CloudEvents.
|
Atributo |
Tipo |
Obrigatório |
Descrição |
Exemplo |
|
|
String |
Não |
ID da conta Alibaba Cloud do produtor do evento. |
|
|
|
Timestamp |
Não |
Carimbo de data/hora em que o EventBridge recebeu o evento. |
|
|
|
String |
Sim |
Nome do barramento de eventos que recebeu o evento. |
|
|
|
String |
Não |
Região onde o EventBridge recebeu o evento. |
|
|
|
String |
Não |
Endereço IP do servidor EventBridge que recebeu o evento. |
|
Tipos de eventos
O EventBridge suporta duas categorias de eventos:
Eventos de serviços da Alibaba Cloud
Os serviços da Alibaba Cloud integram-se automaticamente ao EventBridge como origens de eventos. Para obter uma lista dos serviços suportados, consulte Origens de eventos de serviços da Alibaba Cloud.
Eventos de aplicativos personalizados
Para publicar eventos de seus próprios aplicativos, conecte o aplicativo ao EventBridge por meio de um SDK.