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
Mensagem pronta para colar
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-pyOu 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.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.
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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2379
- 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