Pular para o conteúdo
Skillpedia
Bancos de dados48 mil · #2308

azure-data-tables-py

Permite que seu agente use armazenamento NoSQL no Azure com Python. É útil para guardar e recuperar dados rapidamente, como um grande catálogo.

O que ela faz

Esta ferramenta permite guardar e recuperar informações de forma organizada em 'tabelas' na nuvem. É como um grande arquivo digital onde você pode adicionar, ler, alterar ou apagar dados.

Quando usar

  • ✓Quando você precisa armazenar dados de clientes.
  • ✓Para guardar informações de produtos em um catálogo.
  • ✓Ao registrar logs de atividades de um sistema.

Exemplo do que pedir para a IA

“Guarde o nome e o email do cliente João Silva na tabela 'clientes'.”

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

Você diz para a ferramenta qual informação quer guardar (como um nome e um email) e ela a armazena em uma tabela específica. Depois, você pode pedir para ela encontrar ou modificar esses dados.

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-data-tables-py

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-data-tables-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 Tables para Python

Armazenamento NoSQL de chave-valor para dados estruturados (Azure Storage Tables ou API de Tabelas do Cosmos DB).

Instalação

pip install azure-data-tables azure-identity

Variáveis de Ambiente

# Azure Storage Tables
AZURE_STORAGE_ACCOUNT_URL=https://<account>.table.core.windows.net

# Cosmos DB Table API
COSMOS_TABLE_ENDPOINT=https://<account>.table.cosmos.azure.com

Autenticação

from azure.identity import DefaultAzureCredential
from azure.data.tables import TableServiceClient, TableClient

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

# Service client (manage tables)
service_client = TableServiceClient(endpoint=endpoint, credential=credential)

# Table client (work with entities)
table_client = TableClient(endpoint=endpoint, table_name="mytable", credential=credential)

Tipos de Cliente

Cliente Propósito
TableServiceClient Criar/excluir tabelas, listar tabelas
TableClient CRUD de entidades, consultas

Operações de Tabela

# Create table
service_client.create_table("mytable")

# Create if not exists
service_client.create_table_if_not_exists("mytable")

# Delete table
service_client.delete_table("mytable")

# List tables
for table in service_client.list_tables():
    print(table.name)

# Get table client
table_client = service_client.get_table_client("mytable")

Operações de Entidade

Importante: Cada entidade requer PartitionKey e RowKey (juntos formam um ID único).

Criar Entidade

entity = {
    "PartitionKey": "sales",
    "RowKey": "order-001",
    "product": "Widget",
    "quantity": 5,
    "price": 9.99,
    "shipped": False
}

# Create (fails if exists)
table_client.create_entity(entity=entity)

# Upsert (create or replace)
table_client.upsert_entity(entity=entity)

Obter Entidade

# Get by key (fastest)
entity = table_client.get_entity(
    partition_key="sales",
    row_key="order-001"
)
print(f"Product: {entity['product']}")

Atualizar Entidade

# Replace entire entity
entity["quantity"] = 10
table_client.update_entity(entity=entity, mode="replace")

# Merge (update specific fields only)
update = {
    "PartitionKey": "sales",
    "RowKey": "order-001",
    "shipped": True
}
table_client.update_entity(entity=update, mode="merge")

Excluir Entidade

table_client.delete_entity(
    partition_key="sales",
    row_key="order-001"
)

Consultar Entidades

Consultar Dentro de uma Partição

# Query by partition (efficient)
entities = table_client.query_entities(
    query_filter="PartitionKey eq 'sales'"
)
for entity in entities:
    print(entity)

Consultar com Filtros

# Filter by properties
entities = table_client.query_entities(
    query_filter="PartitionKey eq 'sales' and quantity gt 3"
)

# With parameters (safer)
entities = table_client.query_entities(
    query_filter="PartitionKey eq @pk and price lt @max_price",
    parameters={"pk": "sales", "max_price": 50.0}
)

Selecionar Propriedades Específicas

entities = table_client.query_entities(
    query_filter="PartitionKey eq 'sales'",
    select=["RowKey", "product", "price"]
)

Listar Todas as Entidades

# List all (cross-partition - use sparingly)
for entity in table_client.list_entities():
    print(entity)

Operações em Lote

from azure.data.tables import TableTransactionError

# Batch operations (same partition only!)
operations = [
    ("create", {"PartitionKey": "batch", "RowKey": "1", "data": "first"}),
    ("create", {"PartitionKey": "batch", "RowKey": "2", "data": "second"}),
    ("upsert", {"PartitionKey": "batch", "RowKey": "3", "data": "third"}),
]

try:
    table_client.submit_transaction(operations)
except TableTransactionError as e:
    print(f"Transaction failed: {e}")

Cliente Assíncrono

from azure.data.tables.aio import TableServiceClient, TableClient
from azure.identity.aio import DefaultAzureCredential

async def table_operations():
    credential = DefaultAzureCredential()
    
    async with TableClient(
        endpoint="https://<conta>.table.core.windows.net",
        table_name="minhatabela",
        credential=credential
    ) as client:
        # Criar
        await client.create_entity(entity={
            "PartitionKey": "async",
            "RowKey": "1",
            "data": "teste"
        })
        
        # Consultar

…
Perguntas frequentes

O que são PartitionKey e RowKey?

São como um endereço único para cada informação. O PartitionKey agrupa dados similares e o RowKey identifica um item específico dentro desse grupo.

Posso guardar qualquer tipo de informação?

Você pode guardar textos, números, datas, booleanos (verdadeiro/falso) e outros tipos básicos de dados.

É seguro guardar meus dados?

Sim, o Azure oferece segurança para os dados armazenados, mas é importante configurar corretamente as permissões de acesso.

Detalhes

Descrição original do autor

Azure Tables SDK for Python (Storage and Cosmos DB). Use for NoSQL key-value storage, entity CRUD, and batch operations.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas