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

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

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

Ou 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.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.

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.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas