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

azure-cosmos-py

Ajuda seu agente a trabalhar com bancos de dados NoSQL no Azure Cosmos DB usando Python. É útil para gerenciar dados de forma distribuída e fazer consultas.

O que ela faz

Esta ferramenta permite que você gerencie dados em um banco de dados chamado Azure Cosmos DB usando Python. Você pode adicionar, ler, atualizar, excluir e pesquisar informações.

Quando usar

  • ✓Quando você precisa armazenar e recuperar dados de forma organizada.
  • ✓Ao construir aplicações que precisam de um banco de dados rápido e confiável.
  • ✓Para gerenciar grandes volumes de informações que mudam com frequência.

Exemplo do que pedir para a IA

“Adicione um novo item de produto com nome 'Teclado Mecânico', preço 150 e categoria 'Acessórios de Computador'.”

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

Você usa um código especial em Python para se conectar ao banco de dados. Depois, envia comandos para criar, ler, modificar ou apagar os dados que estão guardados lá.

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-cosmos-py

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-cosmos-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 estão incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.

Disponibilidade de material de suporte

Estes caminhos permanecem indisponíveis nesta cópia do catálogo:

  • <support-root>/scripts/setup_cosmos_container.py

Não invoque uma etapa que exija um desses arquivos. Obtenha o material original e revise suas dependências, licença e efeitos antes do uso. Etapas inline independentes e os auxiliares incluídos podem prosseguir dentro do escopo autorizado do usuário.

Azure Cosmos DB SDK para Python

Biblioteca cliente para a API NoSQL do Azure Cosmos DB — banco de dados globalmente distribuído e multimodelos.

Instalação

pip install azure-cosmos azure-identity

Variáveis de Ambiente

COSMOS_ENDPOINT=https://<account>.documents.azure.com:443/
COSMOS_DATABASE=mydb
COSMOS_CONTAINER=mycontainer

Autenticação

from azure.identity import DefaultAzureCredential
from azure.cosmos import CosmosClient

credential = DefaultAzureCredential()
endpoint = "https://<account>.documents.azure.com:443/"

client = CosmosClient(url=endpoint, credential=credential)

Hierarquia de Clientes

Cliente Propósito Obter de
CosmosClient Operações em nível de conta Instanciação direta
DatabaseProxy Operações de banco de dados client.get_database_client()
ContainerProxy Operações de contêiner/item database.get_container_client()

Fluxo de Trabalho Principal

Configurar Banco de Dados e Contêiner

# Get or create database
database = client.create_database_if_not_exists(id="mydb")

# Get or create container with partition key
container = database.create_container_if_not_exists(
    id="mycontainer",
    partition_key=PartitionKey(path="/category")
)

# Get existing
database = client.get_database_client("mydb")
container = database.get_container_client("mycontainer")

Criar Item

item = {
    "id": "item-001",           # Required: unique within partition
    "category": "electronics",   # Partition key value
    "name": "Laptop",
    "price": 999.99,
    "tags": ["computer", "portable"]
}

created = container.create_item(body=item)
print(f"Created: {created['id']}")

Ler Item

# Read requires id AND partition key
item = container.read_item(
    item="item-001",
    partition_key="electronics"
)
print(f"Name: {item['name']}")

Atualizar Item (Substituir)

item = container.read_item(item="item-001", partition_key="electronics")
item["price"] = 899.99
item["on_sale"] = True

updated = container.replace_item(item=item["id"], body=item)

Upsert Item

# Create if not exists, replace if exists
item = {
    "id": "item-002",
    "category": "electronics",
    "name": "Tablet",
    "price": 499.99
}

result = container.upsert_item(body=item)

Excluir Item

container.delete_item(
    item="item-001",
    partition_key="electronics"
)

Consultas

Consulta Básica

# Query within a partition (efficient)
query = "SELECT * FROM c WHERE c.price < @max_price"
items = container.query_items(
    query=query,
    parameters=[{"name": "@max_price", "value": 500}],
    partition_key="electronics"
)

for item in items:
    print(f"{item['name']}: ${item['price']}")

Consulta entre Partições

# Cross-partition (more expensive, use sparingly)
query = "SELECT * FROM c WHERE c.price < @max_price"
items = container.query_items(
    query=query,
    parameters=[{"name": "@max_price", "value": 500}],
    enable_cross_partition_query=True
)

for item in items:
    print(item)

Consulta com Projeção

query = "SELECT c.id, c.name, c.price FROM c WHERE c.category = @category"
items = container.query_items(
    query=query,
    parameters=[{"name": "@category", "value": "electronics"}],
    partition_key="electronics"
)

Ler Todos os Itens

# Read all in a partition
items = container.read_all_items()  # Cross-partition
# Or with partition key
items = container.query_items(
    query="SELECT * FROM c",
    partition_key="electronics"
)

Chaves de Partição

Crítico: Sempre inclua a chave de partição para operações eficientes.

from azure.cosmos import PartitionKey

# Chave de partição única
container = database.create_container_if_not_exists(
    id="orders",
    partition_key=PartitionKey(path="/customer_id")
)


…
Perguntas frequentes

O que é 'CRUD'?

CRUD é uma sigla em inglês para Criar, Ler, Atualizar e Deletar. São as operações básicas que você faz com dados em um banco de dados.

O que é uma 'chave de partição'?

É uma informação usada para organizar e encontrar seus dados mais rapidamente dentro do banco de dados, como um índice em um livro.

Posso usar isso sem saber programar?

Esta ferramenta é para quem programa em Python. Ela facilita o trabalho de quem já sabe programar, mas não é para quem nunca programou.

Detalhes

Descrição original do autor

Azure Cosmos DB SDK for Python (NoSQL API). Use for document CRUD, queries, containers, and globally distributed data.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas