cosmos-provider
Installation
SKILL.md
Cosmos DB Provider
Non-relational provider with its own parallel query pipeline. Uses JSON for document materialization.
When to Use
- Working on Cosmos SQL generation
- Working on document storage, partition key configuration, or
CosmosClientWrapper
Key Differences from Relational
- No migrations — use
EnsureCreated() - Documents as JSON — owned and complex types become embedded objects
- Partition key configuration required for performance
ETagfor optimistic concurrency- No cross-container joins
Azure Cosmos DB Emulator in Docker
Cosmos tests on Helix start the emulator from the work item via PreCommands that run a Docker container using:
eng/testing/run-cosmos-container.ps1eng/testing/run-cosmos-container.sh
These scripts can be invoked locally for testing on machines that don't have the emulator installed, but have docker available.
The Test__Cosmos__SkipConnectionCheck=true env var is set to prevent tests from being skipped when the emulator failed to start.