Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #2312

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-eventgrid-py/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-eventgrid-py/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-py

Ou 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.md
Conteú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

  1. Use CloudEvents para novas aplicações (padrão da indústria)
  2. Agrupe eventos ao publicar múltiplos eventos
  3. Inclua assuntos significativos para filtragem
  4. Use o cliente assíncrono para cenários de alta vazão
  5. Gerencie novas tentativas — o Event Grid tem novas tentativas integradas
  6. 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2312
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas