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

azure-storage-blob-py

Faz seu agente gerenciar arquivos (blobs) no Azure usando Python. É útil para carregar, baixar e organizar dados na nuvem.

O que ela faz

Esta ferramenta permite que você guarde e recupere arquivos (chamados de 'blobs') em um serviço de armazenamento na nuvem da Microsoft chamado Azure Blob Storage. Você pode enviar arquivos para lá, baixar arquivos que já estão lá, ver quais arquivos estão guardados e organizar esses arquivos em pastas (chamadas de 'contêineres').

Quando usar

  • ✓Quando você precisa guardar muitos arquivos importantes na nuvem para não os perder.
  • ✓Quando você quer compartilhar arquivos grandes com outras pessoas de forma segura.
  • ✓Quando você precisa acessar seus arquivos de qualquer lugar, a qualquer hora.

Exemplo do que pedir para a IA

“Quero guardar este documento de texto no meu armazenamento na nuvem.”

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

Você conecta seu programa ao Azure Blob Storage usando credenciais de segurança. Depois, pode dizer para enviar um arquivo, baixar um arquivo, listar os arquivos que já estão guardados ou criar novas 'pastas' (contêineres) para organizar tudo.

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-blob-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-blob-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 Blob Storage para Python

Biblioteca cliente para o Azure Blob Storage — armazenamento de objetos para dados não estruturados.

Instalação

pip install azure-storage-blob azure-identity

Variáveis de Ambiente

AZURE_STORAGE_ACCOUNT_NAME=<your-storage-account>
# Or use full URL
AZURE_STORAGE_ACCOUNT_URL=https://<account>.blob.core.windows.net

Autenticação

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

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

blob_service_client = BlobServiceClient(account_url, credential=credential)

Hierarquia de Clientes

Cliente Propósito Obter de
BlobServiceClient Operações em nível de conta Instanciação direta
ContainerClient Operações de contêiner blob_service_client.get_container_client()
BlobClient Operações de blob único container_client.get_blob_client()

Fluxo de Trabalho Principal

Criar Contêiner

container_client = blob_service_client.get_container_client("mycontainer")
container_client.create_container()

Carregar Blob

# From file path
blob_client = blob_service_client.get_blob_client(
    container="mycontainer",
    blob="sample.txt"
)

with open("./local-file.txt", "rb") as data:
    blob_client.upload_blob(data, overwrite=True)

# From bytes/string
blob_client.upload_blob(b"Hello, World!", overwrite=True)

# From stream
import io
stream = io.BytesIO(b"Stream content")
blob_client.upload_blob(stream, overwrite=True)

Baixar Blob

blob_client = blob_service_client.get_blob_client(
    container="mycontainer",
    blob="sample.txt"
)

# To file
with open("./downloaded.txt", "wb") as file:
    download_stream = blob_client.download_blob()
    file.write(download_stream.readall())

# To memory
download_stream = blob_client.download_blob()
content = download_stream.readall()  # bytes

# Read into existing buffer
stream = io.BytesIO()
num_bytes = blob_client.download_blob().readinto(stream)

Listar Blobs

container_client = blob_service_client.get_container_client("mycontainer")

# List all blobs
for blob in container_client.list_blobs():
    print(f"{blob.name} - {blob.size} bytes")

# List with prefix (folder-like)
for blob in container_client.list_blobs(name_starts_with="logs/"):
    print(blob.name)

# Walk blob hierarchy (virtual directories)
for item in container_client.walk_blobs(delimiter="/"):
    if item.get("prefix"):
        print(f"Directory: {item['prefix']}")
    else:
        print(f"Blob: {item.name}")

Excluir Blob

blob_client.delete_blob()

# Delete with snapshots
blob_client.delete_blob(delete_snapshots="include")

Ajuste de Desempenho

# Configure chunk sizes for large uploads/downloads
blob_client = BlobClient(
    account_url=account_url,
    container_name="mycontainer",
    blob_name="large-file.zip",
    credential=credential,
    max_block_size=4 * 1024 * 1024,  # 4 MiB blocks
    max_single_put_size=64 * 1024 * 1024  # 64 MiB single upload limit
)

# Parallel upload
blob_client.upload_blob(data, max_concurrency=4)

# Parallel download
download_stream = blob_client.download_blob(max_concurrency=4)

Tokens SAS

from datetime import datetime, timedelta, timezone
from azure.storage.blob import generate_blob_sas, BlobSasPermissions

sas_token = generate_blob_sas(
    account_name="<account>",
    container_name="mycontainer",
    blob_name="sample.txt",
    account_key="<account-key>",  # Or use user delegation key
    permission=BlobSasPermissions(read=True),
    expiry=datetime.now(timezone.utc) + timedelta(hours=1)
)

# Use SAS token
blob_url = f"https://<account>.blob.core.windows.net/mycontainer/sample.txt?{sas_token}"

Propriedades e Metadados de Blob

# Get properties
properties = blob_client.get_blob_properties()
print(f"Size: {properties.size}")
print(f"Content-Type: {properties.content_settings.content_type}")
print(f"Last modified: {properties.last_modified}")

# Set metadata
blob_client.set_blob_metadata(metadata={"category": "logs", "year": "2024"})

# Set content type
from azure.storage.blob import ContentSettings
blob_client.set_http_headers(
    content_settings=ContentSettings(content_type="application/json")
)

Cliente Assíncrono

from azure.identity.aio import DefaultAzureCredential

…
Perguntas frequentes

O que são 'blobs'?

'Blobs' são como arquivos digitais que você pode guardar no Azure Blob Storage. Podem ser documentos, fotos, vídeos, ou qualquer outro tipo de dado.

O que é um 'contêiner'?

Um contêiner é como uma pasta onde você organiza seus blobs. Você pode ter vários contêineres para separar diferentes tipos de arquivos ou projetos.

Como a ferramenta sabe que sou eu quem está acessando?

Ela usa um sistema de segurança chamado 'DefaultAzureCredential' que verifica sua identidade para garantir que apenas você possa acessar seus arquivos.

Detalhes

Descrição original do autor

Azure Blob Storage SDK for Python. Use for uploading, downloading, listing blobs, managing containers, and blob lifecycle.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas