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

azure-storage-queue-py

Faz seu agente usar filas de mensagens do Azure com Python. Ele ajuda a organizar tarefas e processar informações de forma assíncrona e confiável.

O que ela faz

Este código ajuda a organizar tarefas e informações em filas. Ele permite enviar mensagens para uma fila, recebê-las para processamento e depois removê-las.

Quando usar

  • ✓Quando você precisa que um programa execute tarefas em segundo plano.
  • ✓Para distribuir trabalho entre diferentes partes de um sistema.
  • ✓Para garantir que mensagens importantes não se percam.

Exemplo do que pedir para a IA

“Envie a mensagem 'Processar relatório de vendas' para a fila de tarefas.”

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-storage-queue-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-storage-queue-py/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O código se conecta a um serviço de fila na nuvem. Você pode enviar mensagens (como instruções ou dados) para essa fila. Outros programas podem ler essas mensagens e executá-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-storage-queue-py

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-storage-queue-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 Queue Storage para Python

Filas de mensagens simples e econômicas para comunicação assíncrona.

Instalação

pip install azure-storage-queue azure-identity

Variáveis de Ambiente

AZURE_STORAGE_ACCOUNT_URL=https://<account>.queue.core.windows.net

Autenticação

from azure.identity import DefaultAzureCredential
from azure.storage.queue import QueueServiceClient, QueueClient

credential = DefaultAzureCredential()
account_url = "https://<account>.queue.core.windows.net"

# Service client
service_client = QueueServiceClient(account_url=account_url, credential=credential)

# Queue client
queue_client = QueueClient(account_url=account_url, queue_name="myqueue", credential=credential)

Operações de Fila

# Create queue
service_client.create_queue("myqueue")

# Get queue client
queue_client = service_client.get_queue_client("myqueue")

# Delete queue
service_client.delete_queue("myqueue")

# List queues
for queue in service_client.list_queues():
    print(queue.name)

Enviar Mensagens

# Send message (string)
queue_client.send_message("Hello, Queue!")

# Send with options
queue_client.send_message(
    content="Delayed message",
    visibility_timeout=60,  # Hidden for 60 seconds
    time_to_live=3600       # Expires in 1 hour
)

# Send JSON
import json
data = {"task": "process", "id": 123}
queue_client.send_message(json.dumps(data))

Receber Mensagens

# Receive messages (makes them invisible temporarily)
messages = queue_client.receive_messages(
    messages_per_page=10,
    visibility_timeout=30  # 30 seconds to process
)

for message in messages:
    print(f"ID: {message.id}")
    print(f"Content: {message.content}")
    print(f"Dequeue count: {message.dequeue_count}")
    
    # Process message...
    
    # Delete after processing
    queue_client.delete_message(message)

Espiar Mensagens

# Peek without hiding (doesn't affect visibility)
messages = queue_client.peek_messages(max_messages=5)

for message in messages:
    print(message.content)

Atualizar Mensagem

# Extend visibility or update content
messages = queue_client.receive_messages()
for message in messages:
    # Extend timeout (need more time)
    queue_client.update_message(
        message,
        visibility_timeout=60
    )
    
    # Update content and timeout
    queue_client.update_message(
        message,
        content="Updated content",
        visibility_timeout=60
    )

Excluir Mensagem

# Delete after successful processing
messages = queue_client.receive_messages()
for message in messages:
    try:
        # Process...
        queue_client.delete_message(message)
    except Exception:
        # Message becomes visible again after timeout
        pass

Limpar Fila

# Delete all messages
queue_client.clear_messages()

Propriedades da Fila

# Get queue properties
properties = queue_client.get_queue_properties()
print(f"Approximate message count: {properties.approximate_message_count}")

# Set/get metadata
queue_client.set_queue_metadata(metadata={"environment": "production"})
properties = queue_client.get_queue_properties()
print(properties.metadata)

Cliente Assíncrono

from azure.storage.queue.aio import QueueServiceClient, QueueClient
from azure.identity.aio import DefaultAzureCredential

async def queue_operations():
    credential = DefaultAzureCredential()
    
    async with QueueClient(
        account_url="https://<account>.queue.core.windows.net",
        queue_name="myqueue",
        credential=credential
    ) as client:
        # Send
        await client.send_message("Async message")
        
        # Receive
        async for message in client.receive_messages():
            print(message.content)
            await client.delete_message(message)

import asyncio
asyncio.run(queue_operations())

Codificação Base64

from azure.storage.queue import QueueClient, BinaryBase64EncodePolicy, BinaryBase64DecodePolicy

# For binary data
queue_client = QueueClient(
    account_url=account_url,
    queue_name="myqueue",
    credential=credential,
    message_encode_policy=BinaryBase64EncodePolicy(),
    message_decode_policy=BinaryBase64DecodePolicy()
)

# Send bytes
queue_client.send_message(b"Binary content")

Melhores Práticas

  1. Exclua mensagens após o processamento para evitar reprocessamento

…

Perguntas frequentes

O que é uma fila?

Uma fila é como uma lista de espera. As mensagens chegam e são processadas na ordem em que chegam.

Por que usar filas?

Filas ajudam a desacoplar sistemas, permitindo que eles se comuniquem de forma confiável, mesmo que um esteja mais lento que o outro.

Posso enviar qualquer tipo de informação?

Sim, você pode enviar textos simples, dados estruturados como JSON, ou até mesmo dados binários.

Detalhes

Descrição original do autor

Azure Queue Storage SDK for Python. Use for reliable message queuing, task distribution, and asynchronous processing.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas