关于 cosmosdb-sdk
面向使用 .NET、Java、Python、Go 或 Spring Boot 的 Azure Cosmos DB 开发者,汇总 SDK 实践和本地开发工具指南。内容涵盖连接、可用性、并发、诊断及 Emulator 与 VS Code 扩展。
主要功能
- 01多语言 Cosmos DB SDK 配置建议
- 02连接、可用性与故障处理
- 03ETag 并发与条件写入
- 04诊断、重试与序列化建议
- 05Emulator 和 VS Code 扩展指南
适用场景
- 01配置生产环境 Cosmos DB 客户端
- 02排查限流、连接和诊断问题
- 03设置本地 Emulator 开发与测试
- 04在 Spring Boot 项目中配置 SDK
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ azurecosmosdb/ cosmosdb-agent-kit --skill cosmosdb-sdk安装后在 Claude Code 中输入/cosmosdb-sdk确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonREADME.mdrules/_sections.md_template.mdsdk-async-api.mdsdk-availability-strategy.mdsdk-circuit-breaker.mdsdk-conditional-create-etag.mdsdk-connection-mode.mdsdk-continuation-token-null-guard.mdsdk-diagnostics.mdsdk-dotnet-cosmos-package-id.mdsdk-dotnet-namespace-collision.mdsdk-emulator-ssl.mdsdk-etag-concurrency.mdsdk-excluded-regions.mdsdk-go-partition-key-metadata.mdsdk-java-content-response.mdsdk-java-cosmos-config.mdsdk-java-spring-boot-versions.mdsdk-local-dev-config.mdsdk-newtonsoft-dependency.mdsdk-patch-counter-increment.mdsdk-preferred-regions.mdsdk-python-async-deps.mdsdk-request-options-per-call.mdsdk-retry-429.mdsdk-serialization-enums.mdsdk-singleton-client.md详细介绍
Azure Cosmos DB SDK 与开发者工具
适用于 .NET、Java、Python、Go 和 Spring Boot 的 Azure Cosmos DB SDK 最佳实践,以及本地开发和模拟器工具。
适用场景
在配置 .NET、Java、Python、Go 或 Spring Boot 中的 Azure Cosmos DB SDK,或设置本地开发工具时,请参考这些指南。
规则
SDK 最佳实践
- sdk-async-api - 使用 Async API 提高吞吐量
- sdk-availability-strategy - 配置基于阈值的可用性策略(对冲)
- sdk-circuit-breaker - 配置分区级熔断器
- sdk-conditional-create-etag - 使用 IfNoneMatchETag("*") 进行条件创建,以防止重复项
- sdk-connection-mode - 在生产环境中使用 Direct 连接模式
- sdk-continuation-token-null-guard - 调用 byPage 前检查续 continuation token 是否为空
- sdk-diagnostics - 记录诊断信息以进行故障排查
- sdk-dotnet-cosmos-package-id - 使用 Microsoft.Azure.Cosmos 包,不要使用已弃用的 Azure.Cosmos
- sdk-dotnet-namespace-collision - 避免 Microsoft.Azure.Cosmos 命名空间与领域模型冲突
- sdk-emulator-ssl - 为 Cosmos DB Emulator 配置 SSL 和连接模式
- sdk-etag-concurrency - 在读取-修改-写入操作中使用 ETag 实现乐观并发控制
- sdk-excluded-regions - 配置排除区域以实现动态故障转移
- sdk-go-partition-key-metadata - 使用当前版本的 Go Cosmos DB SDK,并显式指定分区键元数据
- sdk-java-content-response - 解包 CosmosItemResponse,并在 Java SDK 中启用内容响应
- sdk-java-cosmos-config - 在 Spring Boot 中使用相互依赖的 @Bean 方法初始化 Cosmos DB
- sdk-java-spring-boot-versions - Cosmos DB SDK 的 Spring Boot 和 Java 版本兼容性
- sdk-local-dev-config - 配置本地开发环境,避免与云连接冲突
- sdk-newtonsoft-dependency - 显式引用 Newtonsoft.Json 包
- sdk-patch-counter-increment - 使用 Patch API 原子性地递增计数器
- sdk-preferred-regions - 配置首选区域以确保可用性
- sdk-python-async-deps - 使用 Python 异步 SDK 时包含 aiohttp
- sdk-request-options-per-call - 切勿在多个 createItem 调用之间共用同一个 CosmosItemRequestOptions 实例
- sdk-retry-429 - 使用 Retry-After 处理 429 错误
- sdk-serialization-enums - 确保 Cosmos SDK 与应用层使用一致的枚举序列化方式
- sdk-singleton-client - 将 CosmosClient 作为单例重复使用
- sdk-spring-data-annotations - 使用 @Container、@PartitionKey 和 String ID 为 Spring Data Cosmos 实体添加注解
- sdk-spring-data-repository - 正确使用 CosmosRepository 并处理 Iterable 返回类型
开发者工具
- tooling-emulator-setup - 使用 Azure Cosmos DB Emulator 进行本地开发和测试
- tooling-vscode-extension - 使用 Azure Cosmos DB VS Code 扩展进行日常检查和管理
评论
支持 Markdown