azure-servicebus-py
Faz seu agente trocar mensagens de forma confiável usando filas e tópicos. É útil para conectar diferentes partes de um programa.
O que ela faz
Esta ferramenta permite que programas de computador enviem e recebam mensagens de forma confiável. É como um sistema de correio para aplicações, garantindo que as mensagens cheguem ao destino certo, mesmo em sistemas distribuídos.
Quando usar
- ✓Quando um aplicativo precisa enviar dados para outro sem esperar uma resposta imediata.
- ✓Para garantir que mensagens importantes não se percam entre diferentes partes de um sistema.
- ✓Ao construir sistemas que precisam lidar com muitas tarefas ou eventos de forma organizada.
Exemplo do que pedir para a IA
“Envie uma mensagem 'Olá Mundo' para a fila 'minha-fila'.”
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
O programa se conecta a um serviço de mensagens na nuvem (Azure Service Bus) e usa 'remetentes' para enviar mensagens e 'receptores' para recebê-las. Ele gerencia o envio e recebimento de forma segura e confiável.
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-servicebus-pyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-servicebus-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.
Suporte upstream incluído
Arquivos de suporte são incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.
Segurança de helper restaurada
scripts/setup_servicebus.py pode criar ou excluir filas, tópicos e assinaturas do Service Bus. Comandos de exclusão exigem --confirm-delete; a criação de assinatura com --filter substitui a regra padrão na assinatura recém-criada. Confirme o namespace e a entidade/ação exata com o usuário antes do uso em produção; prefira um namespace de teste descartável.
SDK do Azure Service Bus para Python
Mensagens empresariais para comunicação confiável na nuvem com filas e tópicos de pub/sub.
Instalação
pip install azure-servicebus azure-identity
Variáveis de Ambiente
SERVICEBUS_FULLY_QUALIFIED_NAMESPACE=<namespace>.servicebus.windows.net
SERVICEBUS_QUEUE_NAME=myqueue
SERVICEBUS_TOPIC_NAME=mytopic
SERVICEBUS_SUBSCRIPTION_NAME=mysubscription
Autenticação
from azure.identity import DefaultAzureCredential
from azure.servicebus import ServiceBusClient
credential = DefaultAzureCredential()
namespace = "<namespace>.servicebus.windows.net"
client = ServiceBusClient(
fully_qualified_namespace=namespace,
credential=credential
)
Tipos de Cliente
| Cliente | Propósito | Obter de |
|---|---|---|
ServiceBusClient |
Gerenciamento de conexão | Instanciação direta |
ServiceBusSender |
Enviar mensagens | client.get_queue_sender() / get_topic_sender() |
ServiceBusReceiver |
Receber mensagens | client.get_queue_receiver() / get_subscription_receiver() |
Enviar Mensagens (Assíncrono)
import asyncio
from azure.servicebus.aio import ServiceBusClient
from azure.servicebus import ServiceBusMessage
from azure.identity.aio import DefaultAzureCredential
async def send_messages():
credential = DefaultAzureCredential()
async with ServiceBusClient(
fully_qualified_namespace="<namespace>.servicebus.windows.net",
credential=credential
) as client:
sender = client.get_queue_sender(queue_name="myqueue")
async with sender:
# Single message
message = ServiceBusMessage("Hello, Service Bus!")
await sender.send_messages(message)
# Batch of messages
messages = [ServiceBusMessage(f"Message {i}") for i in range(10)]
await sender.send_messages(messages)
# Message batch (for size control)
batch = await sender.create_message_batch()
for i in range(100):
try:
batch.add_message(ServiceBusMessage(f"Batch message {i}"))
except ValueError: # Batch full
await sender.send_messages(batch)
batch = await sender.create_message_batch()
batch.add_message(ServiceBusMessage(f"Batch message {i}"))
await sender.send_messages(batch)
asyncio.run(send_messages())
Receber Mensagens (Assíncrono)
async def receive_messages():
credential = DefaultAzureCredential()
async with ServiceBusClient(
fully_qualified_namespace="<namespace>.servicebus.windows.net",
credential=credential
) as client:
receiver = client.get_queue_receiver(queue_name="myqueue")
async with receiver:
# Receive batch
messages = await receiver.receive_messages(
max_message_count=10,
max_wait_time=5 # seconds
)
for msg in messages:
print(f"Received: {str(msg)}")
await receiver.complete_message(msg) # Remove from queue
asyncio.run(receive_messages())
Modos de Recebimento
| Modo | Comportamento | Caso de Uso |
|---|---|---|
PEEK_LOCK (padrão) |
Mensagem bloqueada, deve completar/abandonar | Processamento confiável |
RECEIVE_AND_DELETE |
Removida imediatamente ao receber | Entrega no máximo uma vez |
from azure.servicebus import ServiceBusReceiveMode
receiver = client.get_queue_receiver(
queue_name="myqueue",
receive_mode=ServiceBusReceiveMode.RECEIVE_AND_DELETE
)
Liquidação de Mensagens
async with receiver:
messages = await receiver.receive_messages(max_message_count=1)
for msg in messages:
try:
# Processar mensagem...
…
Perguntas frequentes
O que são filas e tópicos?
Filas são como caixas de correio onde uma mensagem vai para um único destinatário. Tópicos são como quadros de avisos onde uma mensagem pode ser vista por vários assinantes interessados.
Como as mensagens são processadas?
As mensagens podem ser recebidas e excluídas imediatamente, ou podem ser recebidas e bloqueadas para processamento. Se o processamento falhar, a mensagem pode ser reenviada ou colocada em uma 'fila de mensagens mortas' para análise.
É seguro usar isso?
Sim, ele usa credenciais seguras para se conectar ao serviço e garante que as mensagens sejam entregues de forma confiável, mesmo que ocorram falhas temporárias.
Detalhes
Descrição original do autor
Azure Service Bus SDK for Python messaging. Use for queues, topics, subscriptions, and enterprise messaging patterns.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2373
- 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