Fähigkeiten azure-cosmos-db-py
📦

azure-cosmos-db-py

Sicher

Azure Cosmos DB-Dienste mit Python erstellen

Implementieren Sie production-grade Azure Cosmos DB NoSQL-Dienste mit ordnungsgemäßer Authentifizierung, sauberer Architektur und testgetriebener Entwicklung. Diese Skill bietet Vorlagen und Muster für sichere Datenbankintegration in FastAPI-Anwendungen.

Unterstützt: Claude Codex Code(CC)
📊 71 Angemessen
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "azure-cosmos-db-py". Cosmos DB-Client-Modul mit dualer Authentifizierung erstellen

Erwartetes Ergebnis:

Eine vollständige cosmos.py-Datei mit get_container()-Singleton-Funktion, _is_emulator_endpoint()-Erkennungs-Helper und Unterstützung für beide Authentifizierungsmodi DefaultAzureCredential und Emulator-Key.

Verwendung von "azure-cosmos-db-py". ProjectService mit CRUD-Operationen erstellen

Erwartetes Ergebnis:

Service-Klasse mit get_by_id-, create-, update- und delete-Methoden unter Verwendung von Async-Wrappern, ordnungsgemäßer Pydantic-Modell-Konvertierung und eleganter Degradierung, die None zurückgibt, wenn Cosmos nicht verfügbar ist.

Sicherheitsaudit

Sicher
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
Gescannte Dateien
245
Analysierte Zeilen
0
befunde
1
Gesamtzahl Audits
Keine Sicherheitsprobleme gefunden
Auditiert von: claude

Qualitätsbewertung

38
Architektur
100
Wartbarkeit
87
Inhalt
31
Community
100
Sicherheit
91
Spezifikationskonformität

Was du bauen kannst

Backend-Entwickler erstellt SaaS-Anwendung

Implementieren Sie mandantenfähige Datenspeicherung mit Cosmos DB mit Partition-Key-Isolierung pro Workspace unter Verwendung von DefaultAzureCredential für sichere Production-Bereitstellung.

DevOps-Ingenieur richtet Entwicklungsumgebung ein

Konfigurieren Sie lokale Entwicklung mit Cosmos DB-Emulator unter Verwendung von Umgebungsvariablen für Endpoint-Konfiguration und Test-Fixtures für CI/CD-Pipelines.

Solution Architect entwirft Cloud-native Anwendungen

Wenden Sie Clean-Architecture-Muster mit Repository- und Service-Schichten an und stellen Sie Trennung der Geschäftslogik von der Datenbankimplementierung für langfristige Wartbarkeit sicher.

Probiere diese Prompts

Basis: Cosmos DB-Client einrichten
Erstellen Sie ein Cosmos DB-Client-Modul mit Singleton-Muster, das DefaultAzureCredential für Production und Emulator-Key für lokale Entwicklung verwendet. Inklusive SSL-Konfiguration und Container-Initialisierung.
Mittel: Service-Schicht erstellen
Bauen Sie eine Service-Klasse für Project-Entity mit CRUD-Operationen. Verwenden Sie das fünfstufige Pydantic-Modellmuster und implementieren Sie elegante Degradierung, wenn Cosmos DB nicht verfügbar ist.
Fortgeschritten: Parametrisierte Abfragen schreiben
Implementieren Sie Cosmos DB SQL-Abfragen mit @parameter-Syntax zum Filtern von Projekten nach workspace_id und name. Inklusive ordnungsgemäßer Fehlerbehandlung für CosmosResourceNotFoundError.
Experte: Testing-Infrastructure einrichten
Erstellen Sie pytest-Fixtures zum Mocken von Cosmos DB-Container-Operationen. Inklusive Async-Test-Beispielen für Service-Schicht-Methoden mit ordnungsgemäßem Mocking der get_container-Funktion.

Bewährte Verfahren

  • Verwenden Sie in Production-Umgebungen immer DefaultAzureCredential - hardcoden Sie niemals Keys oder Secrets im Quellcode
  • Verwenden Sie parametrisierte Abfragen mit @parameter-Syntax, um SQL-Injection in Cosmos DB-Abfragen zu verhindern
  • Implementieren Sie elegante Degradierung durch Zurückgeben von None oder leeren Listen, wenn Cosmos DB nicht verfügbar ist, statt Exceptions zu werfen

Vermeiden

  • Hardcodierung von Connection-Keys oder Secrets direkt im Quellcode statt Verwendung von Umgebungsvariablen oder Managed Identity
  • Verwendung von String-Konkatenation zum Erstellen von Abfragen statt parametrisierter Abfragesyntax mit @parameter-Platzhaltern
  • Erstellen neuer CosmosClient-Instanzen pro Anfrage statt Verwendung des Singleton-Musters für Connection-Pooling

Häufig gestellte Fragen

Was ist der Unterschied zwischen DefaultAzureCredential und Emulator-Key-Authentifizierung?
DefaultAzureCredential verwendet Managed Identity oder Azure CLI-Credentials für Production-Umgebungen mit RBAC. Emulator-Key-Authentifizierung verwendet einen bekannten Key nur für lokale Entwicklung und sollte niemals in Production verwendet werden.
Wie gehe ich mit Cosmos DB-Nichtverfügbarkeit elegant um?
Implementieren Sie eine _use_cosmos()-Prüfung in Ihrer Service-Schicht, die False zurückgibt, wenn der Container None ist. Service-Methoden geben None für einzelne Items oder leere Listen für Abfragen zurück, statt Exceptions auszulösen.
Warum Async-Wrapper für synchrone Cosmos SDK-Aufrufe verwenden?
Das Azure Cosmos DB Python SDK ist synchron. Die Verwendung von starlette's run_in_threadpool verhindert das Blockieren der FastAPI-Event-Loop und behält Async-Performance-Eigenschaften bei.
Was ist das Fünfstufen-Modellmuster?
Es verwendet ProjectBase für gemeinsame Felder, ProjectCreate für Erstellungsanfragen, ProjectUpdate für partielle Updates, Project für API-Antworten und ProjectInDB für interne Dokumente mit docType-Metadaten.
Wie wähle ich einen Partition-Key für Cosmos DB?
Wählen Sie einen Partition-Key, der gleichmäßige Datenverteilung bietet und mit Abfragemustern übereinstimmt. Für mandantenfähige Apps ist workspace_id üblich. Validieren Sie, dass Partition-Key-Zugriff mit Benutzer-Autorisierung übereinstimmt, um Datengrenzen durchzusetzen.
Kann ich diese Skill mit anderen Azure Cosmos DB-APIs wie MongoDB oder SQL verwenden?
Diese Skill konzentriert sich spezifisch auf die NoSQL-API mit nativem Cosmos SDK. MongoDB- und SQL-APIs erfordern unterschiedliche Client-Bibliotheken und Abfragemuster, obwohl die Service-Schicht-Architekturprinzipien anwendbar bleiben.

Entwicklerdetails

Dateistruktur

📄 SKILL.md