azure-eventgrid-py
Permite que seu agente envie e receba eventos usando o Azure Event Grid em Python. É bom para criar sistemas que respondem a acontecimentos em tempo real.
O que ela faz
Este código permite que seus programas enviem mensagens (eventos) para o Azure Event Grid. Ele é usado para criar sistemas onde diferentes partes de um programa se comunicam através de eventos, como quando um novo pedido é feito.
Quando usar
- ✓Quando você precisa notificar outros sistemas sobre algo que aconteceu no seu programa.
- ✓Para construir aplicações que reagem a eventos em tempo real.
- ✓Ao integrar diferentes serviços em nuvem que precisam se comunicar.
Exemplo do que pedir para a IA
“Envie um evento de 'pedido criado' com o ID 12345 e o valor 99.99.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você configura o programa com um endereço especial (endpoint) e credenciais de acesso. Depois, cria mensagens (eventos) com informações sobre o que aconteceu e usa o código para enviá-las.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill azure-eventgrid-pyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-eventgrid-py/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
SDK do Azure Event Grid para Python
Serviço de roteamento de eventos para criar aplicações orientadas a eventos com semântica de publicação/assinatura.
Instalação
pip install azure-eventgrid azure-identity
Variáveis de Ambiente
EVENTGRID_TOPIC_ENDPOINT=https://<topic-name>.<region>.eventgrid.azure.net/api/events
EVENTGRID_NAMESPACE_ENDPOINT=https://<namespace>.<region>.eventgrid.azure.net
Autenticação
from azure.identity import DefaultAzureCredential
from azure.eventgrid import EventGridPublisherClient
credential = DefaultAzureCredential()
endpoint = "https://<topic-name>.<region>.eventgrid.azure.net/api/events"
client = EventGridPublisherClient(endpoint, credential)
Tipos de Eventos
| Formato | Classe | Caso de Uso |
|---|---|---|
| Cloud Events 1.0 | CloudEvent |
Padrão, interoperável (recomendado) |
| Esquema do Event Grid | EventGridEvent |
Formato nativo do Azure |
Publicar CloudEvents
from azure.eventgrid import EventGridPublisherClient, CloudEvent
from azure.identity import DefaultAzureCredential
client = EventGridPublisherClient(endpoint, DefaultAzureCredential())
# Single event
event = CloudEvent(
type="MyApp.Events.OrderCreated",
source="/myapp/orders",
data={"order_id": "12345", "amount": 99.99}
)
client.send(event)
# Multiple events
events = [
CloudEvent(
type="MyApp.Events.OrderCreated",
source="/myapp/orders",
data={"order_id": f"order-{i}"}
)
for i in range(10)
]
client.send(events)
Publicar EventGridEvents
from azure.eventgrid import EventGridEvent
from datetime import datetime, timezone
event = EventGridEvent(
subject="/myapp/orders/12345",
event_type="MyApp.Events.OrderCreated",
data={"order_id": "12345", "amount": 99.99},
data_version="1.0"
)
client.send(event)
Propriedades do Evento
Propriedades do CloudEvent
event = CloudEvent(
type="MyApp.Events.ItemCreated", # Required: event type
source="/myapp/items", # Required: event source
data={"key": "value"}, # Event payload
subject="items/123", # Optional: subject/path
datacontenttype="application/json", # Optional: content type
dataschema="https://schema.example", # Optional: schema URL
time=datetime.now(timezone.utc), # Optional: timestamp
extensions={"custom": "value"} # Optional: custom attributes
)
Propriedades do EventGridEvent
event = EventGridEvent(
subject="/myapp/items/123", # Required: subject
event_type="MyApp.ItemCreated", # Required: event type
data={"key": "value"}, # Required: event payload
data_version="1.0", # Required: schema version
topic="/subscriptions/.../topics/...", # Optional: auto-set
event_time=datetime.now(timezone.utc) # Optional: timestamp
)
Cliente Assíncrono
from azure.eventgrid.aio import EventGridPublisherClient
from azure.identity.aio import DefaultAzureCredential
async def publish_events():
credential = DefaultAzureCredential()
async with EventGridPublisherClient(endpoint, credential) as client:
event = CloudEvent(
type="MyApp.Events.Test",
source="/myapp",
data={"message": "hello"}
)
await client.send(event)
import asyncio
asyncio.run(publish_events())
Tópicos de Namespace (Namespaces do Event Grid)
Para Namespaces do Event Grid (entrega por pull):
from azure.eventgrid.aio import EventGridPublisherClient
# Namespace endpoint (different from custom topic)
namespace_endpoint = "https://<namespace>.<region>.eventgrid.azure.net"
topic_name = "my-topic"
async with EventGridPublisherClient(
endpoint=namespace_endpoint,
credential=DefaultAzureCredential()
) as client:
await client.send(
event,
namespace_topic=topic_name
)
Melhores Práticas
- Use CloudEvents para novas aplicações (padrão da indústria)
- Agrupe eventos ao publicar múltiplos eventos
- Inclua assuntos significativos para filtragem
- Use o cliente assíncrono para cenários de alta vazão
- Gerencie novas tentativas — o Event Grid tem novas tentativas integradas
- Defina tipos de eventos apropriados para roteamento e filtragem
Quando Usar
Esta habilidade é aplicável para executar o fluxo de trabalho ou as ações descritas na visão geral.
Limitações
…
Perguntas frequentes
O que são 'eventos'?
Eventos são como notificações. Eles informam que algo aconteceu, como um novo usuário se cadastrou ou um item foi vendido.
O que é 'Azure Event Grid'?
É um serviço da Microsoft que ajuda a gerenciar e entregar essas notificações (eventos) entre diferentes partes de um sistema ou entre sistemas diferentes.
Qual a diferença entre 'CloudEvents' e 'EventGridEvent'?
CloudEvents é um padrão mais geral e recomendado para que sistemas diferentes possam se entender. EventGridEvent é um formato específico do Azure.
Detalhes
Descrição original do autor
Azure Event Grid SDK for Python. Use for publishing events, handling CloudEvents, and event-driven architectures.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2312
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC