Appearance
使用 .NET SDK 自动化管理 Azure Cosmos DB 资源
解决云资源配置繁琐的问题:通过 Azure Resource Manager (ARM) SDK,让 AI 辅助开发者在 .NET 程序中直接实现 Cosmos DB 账户、数据库及容器的自动化创建与吞吐量配置,无需手动操作门户。
为什么需要这个技能
在开发大型分布式系统时,手动在 Azure Portal 中配置数据库不仅低效且容易出错。开发者需要一种编程方式来管理“管理平面”(Management Plane)的操作,例如动态创建测试环境、调整资源吞吐量或管理 RBAC 权限。
需要注意的是,本技能关注的是管理平面(创建账户、配置资源),而非数据平面(读写文档、执行查询)。如果你的需求是 CRUD 数据,应使用 Microsoft.Azure.Cosmos SDK;而当你需要自动化基础设施部署时,则必须使用 Azure.ResourceManager.CosmosDB。
适用场景
- 基础设施即代码 (IaC):在 CI/CD 流水线中自动部署 Cosmos DB 实例。
- 动态资源扩缩容:根据业务高峰期通过代码自动调整数据库的吞吐量(RU/s)。
- 多租户环境隔离:为每个新租户自动创建独立的 Cosmos DB 容器和分区键。
- 环境快速克隆:快速搭建一套与生产环境配置一致的开发/测试环境。
核心工作流
1. 环境准备与认证
安装必要的 NuGet 包并配置身份认证,推荐使用 DefaultAzureCredential 以支持多种认证环境(本地、Managed Identity 等)。
bash
dotnet add package Azure.ResourceManager.CosmosDB
dotnet add package Azure.Identitycsharp
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var subscription = armClient.GetSubscriptionResource(
new ResourceIdentifier($"/subscriptions/{subscriptionId}"));2. 资源创建链
遵循 Subscription ResourceGroup Account Database Container 的层级结构进行创建。
- 创建账户:定义
CosmosDBAccountCreateOrUpdateContent,配置地域和一致性策略。 - 创建 SQL 数据库:通过账户资源获取数据库集合并调用
CreateOrUpdateAsync。 - 创建容器:配置分区键(Partition Key)和索引策略。
3. 吞吐量配置
支持手动吞吐量或自适应吞吐量(Autoscale),通过 ThroughputSettingsUpdateData 实现动态调整。
csharp
var autoscaleData = new ThroughputSettingsUpdateData(
new ThroughputSettingsResourceInfo
{
AutoscaleSettings = new AutoscaleSettingsResourceInfo { MaxThroughput = 4000 }
});
await database.CreateOrUpdateCosmosDBSqlDatabaseThroughputAsync(WaitUntil.Completed, autoscaleData);4. 获取连接信息
最后通过 GetKeysAsync 或 GetConnectionStringsAsync 获取用于数据平面 SDK 的访问凭证。
下载和安装
下载 azure-resource-manager-cosmosdb-dotnet 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐