Habilidades azure-cosmos-db-py
📦

azure-cosmos-db-py

Seguro

Construir Serviços Azure Cosmos DB com Python

Implemente serviços NoSQL do Azure Cosmos DB de nível de produção com autenticação adequada, arquitetura limpa e desenvolvimento orientado a testes. Esta skill fornece modelos e padrões para integração segura de banco de dados em aplicações FastAPI.

Suporta: Claude Codex Code(CC)
🥉 74 Bronze
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "azure-cosmos-db-py". Criar módulo de cliente Cosmos DB com autenticação dupla

Resultado esperado:

Arquivo cosmos.py completo com função singleton get_container(), helper de detecção _is_emulator_endpoint(), e suporte para modos de autenticação DefaultAzureCredential e chave de emulador.

A utilizar "azure-cosmos-db-py". Construir ProjectService com operações CRUD

Resultado esperado:

Classe de serviço com métodos get_by_id, create, update e delete usando wrappers assíncronos, conversão adequada de modelos Pydantic, e degradação elegante retornando None quando Cosmos estiver indisponível.

Auditoria de Segurança

Seguro
v1 • 2/24/2026

All 37 static analysis findings are false positives. The scanned file (SKILL.md) is a documentation file containing code examples in markdown format, not executable code. External command detections are bash examples in documentation blocks. Network and environment variable references are configuration templates for Azure Cosmos DB connectivity. The skill demonstrates proper security practices including RBAC via DefaultAzureCredential, parameterized queries, and secure secret management.

1
Arquivos analisados
245
Linhas analisadas
0
achados
1
Total de auditorias
Nenhum problema de segurança encontrado
Auditado por: claude

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
87
Conteúdo
50
Comunidade
100
Segurança
91
Conformidade com especificações

O Que Você Pode Construir

Desenvolvedor Backend Construindo Aplicação SaaS

Implemente armazenamento de dados multi-tenant usando Cosmos DB com isolamento de chave de partição por workspace, utilizando DefaultAzureCredential para implantação segura em produção.

Engenheiro DevOps Configurando Ambiente de Desenvolvimento

Configure desenvolvimento local com emulador Cosmos DB, usando variáveis de ambiente para configuração de endpoint e fixtures de teste para pipelines CI/CD.

Arquiteto de Soluções Projetando Aplicações Cloud-Native

Aplique padrões de arquitetura limpa com camadas de repositório e serviço, garantindo separação da lógica de negócio da implementação do banco de dados para manutenibilidade de longo prazo.

Tente Estes Prompts

Básico: Configurar Cliente Cosmos DB
Crie um módulo de cliente Cosmos DB com padrão singleton que usa DefaultAzureCredential para produção e chave de emulador para desenvolvimento local. Inclua configuração de SSL e inicialização de container.
Intermediário: Criar Camada de Serviço
Construa uma classe de serviço para entidade Project com operações CRUD. Use o padrão de modelo Pydantic de cinco camadas e implemente degradação elegante quando o Cosmos DB não estiver disponível.
Avançado: Escrever Consultas Parametrizadas
Implemente consultas SQL do Cosmos DB usando sintaxe @parameter para filtrar projects por workspace_id e name. Inclua tratamento adequado de erros para CosmosResourceNotFoundError.
Expert: Configurar Infraestrutura de Testes
Crie fixtures pytest para simular operações de container Cosmos DB. Inclua exemplos de testes assíncronos para métodos de camada de serviço com simulação adequada da função get_container.

Melhores Práticas

  • Sempre use DefaultAzureCredential em ambientes de produção - nunca codifique chaves ou segredos diretamente no código fonte
  • Use consultas parametrizadas com sintaxe @parameter para prevenir injeção SQL em consultas Cosmos DB
  • Implemente degradação elegante retornando None ou listas vazias quando o Cosmos DB não estiver disponível ao invés de lançar exceções

Evitar

  • Codificar chaves de conexão ou segredos diretamente no código fonte ao invés de usar variáveis de ambiente ou managed identity
  • Usar concatenação de strings para construir consultas ao invés de sintaxe de consulta parametrizada com placeholders @parameter
  • Criar novas instâncias de CosmosClient por requisição ao invés de usar padrão singleton para pool de conexões

Perguntas Frequentes

Qual é a diferença entre autenticação DefaultAzureCredential e chave de emulador?
DefaultAzureCredential usa managed identity ou credenciais do Azure CLI para ambientes de produção com RBAC. Autenticação com chave de emulador usa uma chave conhecida apenas para desenvolvimento local e nunca deve ser usada em produção.
Como lidar com indisponibilidade do Cosmos DB de forma elegante?
Implemente uma verificação _use_cosmos() na sua camada de serviço que retorna False quando o container é None. Métodos de serviço retornam None para itens únicos ou listas vazias para consultas ao invés de lançar exceções.
Por que usar wrappers assíncronos para chamadas síncronas do SDK do Cosmos?
O Azure Cosmos DB Python SDK é síncrono. Usar run_in_threadpool do starlette previne bloqueio do event loop do FastAPI, mantendo características de performance assíncronas.
O que é o padrão de modelo de cinco camadas?
Ele usa ProjectBase para campos compartilhados, ProjectCreate para requisições de criação, ProjectUpdate para atualizações parciais, Project para respostas de API, e ProjectInDB para documentos internos com metadados docType.
Como escolher uma chave de partição para Cosmos DB?
Selecione uma chave de partição que forneça distribuição uniforme de dados e se alinhe com padrões de consulta. Para apps multi-tenant, workspace_id é comum. Valide que o acesso à chave de partição corresponde à autorização do usuário para aplicar limites de dados.
Posso usar esta skill com outras APIs do Azure Cosmos DB como MongoDB ou SQL?
Esta skill foca especificamente na API NoSQL com SDK nativo do Cosmos. APIs MongoDB e SQL requerem bibliotecas de cliente diferentes e padrões de consulta, embora os princípios de arquitetura da camada de serviço permaneçam aplicáveis.

Detalhes do Desenvolvedor

Estrutura de arquivos

📄 SKILL.md