azure-cosmos-db-py
Permite que seu agente crie serviços NoSQL no Azure Cosmos DB com boas práticas. Ajuda a garantir que o banco de dados seja seguro e confiável.
O que ela faz
Este código ajuda a criar e gerenciar dados em um banco de dados chamado Azure Cosmos DB. Ele garante que os dados sejam armazenados de forma organizada e segura, seguindo boas práticas de programação.
Quando usar
- ✓Ao criar um novo serviço de dados para um aplicativo.
- ✓Ao precisar garantir que os dados sejam armazenados de forma segura.
- ✓Ao desenvolver um aplicativo que usa o Azure Cosmos DB.
Exemplo do que pedir para a IA
“Configure o banco de dados Azure Cosmos DB para meu aplicativo.”
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
O código se conecta ao Azure Cosmos DB usando credenciais seguras. Ele organiza os dados em modelos e garante que as operações sejam realizadas de forma eficiente e segura.
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-db-pyOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-cosmos-db-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.
Suporte upstream incluído
Arquivos de suporte são incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.
Segurança de helper restaurada
O fixture de integração em assets/conftest_template.py se conecta ao endpoint Cosmos configurado; cleanup_test_docs exclui registros explicitamente adicionados à sua lista de rastreamento. Use apenas um container de teste isolado e descartável com registros apenas para teste, nunca dados de produção. Copiar o template não se conecta ao Cosmos.
Implementação do Serviço Cosmos DB
Construa serviços Azure Cosmos DB NoSQL de nível de produção seguindo princípios de código limpo, melhores práticas de segurança e TDD.
Instalação
pip install azure-cosmos azure-identity
Variáveis de Ambiente
COSMOS_ENDPOINT=https://<account>.documents.azure.com:443/
COSMOS_DATABASE_NAME=<database-name>
COSMOS_CONTAINER_ID=<container-id>
# For emulator only (not production)
COSMOS_KEY=<emulator-key>
Autenticação
DefaultAzureCredential (preferencial):
from azure.cosmos import CosmosClient
from azure.identity import DefaultAzureCredential
client = CosmosClient(
url=os.environ["COSMOS_ENDPOINT"],
credential=DefaultAzureCredential()
)
Emulador (desenvolvimento local):
from azure.cosmos import CosmosClient
client = CosmosClient(
url="https://localhost:8081",
credential=os.environ["COSMOS_KEY"],
connection_verify=False
)
Visão Geral da Arquitetura
┌─────────────────────────────────────────────────────────────────┐
│ FastAPI Router │
│ - Auth dependencies (get_current_user, get_current_user_required)
│ - HTTP error responses (HTTPException) │
└──────────────────────────────┬──────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────┐
│ Service Layer │
│ - Business logic and validation │
│ - Document ↔ Model conversion │
│ - Graceful degradation when Cosmos unavailable │
└──────────────────────────────┬──────────────────────────────────┘
│
┌──────────────────────────────▼──────────────────────────────────┐
│ Cosmos DB Client Module │
│ - Singleton container initialization │
│ - Dual auth: DefaultAzureCredential (Azure) / Key (emulator) │
│ - Async wrapper via run_in_threadpool │
└─────────────────────────────────────────────────────────────────┘
Início Rápido
1. Configuração do Módulo Cliente
Crie um cliente Cosmos singleton com autenticação dupla:
# db/cosmos.py
from azure.cosmos import CosmosClient
from azure.identity import DefaultAzureCredential
from starlette.concurrency import run_in_threadpool
_cosmos_container = None
def _is_emulator_endpoint(endpoint: str) -> bool:
return "localhost" in endpoint or "127.0.0.1" in endpoint
async def get_container():
global _cosmos_container
if _cosmos_container is None:
if _is_emulator_endpoint(settings.cosmos_endpoint):
client = CosmosClient(
url=settings.cosmos_endpoint,
credential=settings.cosmos_key,
connection_verify=False
)
else:
client = CosmosClient(
url=settings.cosmos_endpoint,
credential=DefaultAzureCredential()
)
db = client.get_database_client(settings.cosmos_database_name)
_cosmos_container = db.get_container_client(settings.cosmos_container_id)
return _cosmos_container
Implementação completa: Veja references/client-setup.md
2. Hierarquia de Modelos Pydantic
Use o padrão de modelo de cinco níveis para separação limpa:
class ProjectBase(BaseModel): # Campos compartilhados
name: str = Field(..., min_length=1, max_length=200)
class ProjectCreate(ProjectBase): # Requisição de criação
workspace_id: str = Field(..., alias="workspaceId")
class ProjectUpdate(BaseModel): # Atualizações parciais (todas opcionais)
name: Optional[str] = Field(None, min_length=1)
class Project(ProjectBase): # Resposta da API
id: str
created_at: datetime = Field(..., alias="createdAt")
…
Perguntas frequentes
O que é Azure Cosmos DB?
É um serviço de banco de dados NoSQL da Microsoft que permite armazenar e consultar dados de forma rápida e escalável.
O que são 'boas práticas de programação'?
São métodos e convenções que tornam o código mais fácil de entender, manter e seguro, como organizar o código e evitar erros comuns.
O que é TDD?
TDD significa Test-Driven Development (Desenvolvimento Guiado por Testes). É uma prática onde você escreve testes antes de escrever o código principal, garantindo que tudo funcione como esperado.
Detalhes
Descrição original do autor
Build production-grade Azure Cosmos DB NoSQL services following clean code, security best practices, and TDD principles.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2302
- 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
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC