You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#的MongoClient创建启用分析存储的Azure Cosmos DB MongoDB集合

在C#中通过MongoClient为Azure Cosmos DB MongoDB集合启用分析存储

Azure Cosmos DB的MongoDB API支持通过扩展属性配置原生MongoDB API未暴露的Azure特定功能,分析存储就属于这类功能。你可以通过在CreateCollectionOptions中注入Azure专属的扩展参数来实现,具体操作如下:

  1. 构造包含分析存储配置的创建选项
    启用分析存储需要指定analyticalStorageTtl参数(该值表示分析存储数据的保留时长,设为-1代表永久保留,也可设置具体秒数)。这个参数是Azure的扩展属性,需要通过CreateCollectionOptions的ExtraElements属性注入:

    var client = new MongoClient("你的Cosmos DB MongoDB连接字符串");
    var database = client.GetDatabase("dbName");
    
    var createOptions = new CreateCollectionOptions
    {
        // 可添加分片键等原生MongoDB配置
        ExtraElements = new BsonDocument
        {
            ["analyticalStorageTtl"] = -1 // 按需调整保留时长,-1为永久保留
        }
    };
    
    // 创建带分析存储的集合
    await database.CreateCollectionAsync("collectionName", createOptions);
    
  2. 验证配置状态
    集合创建后,可通过Azure门户的数据资源管理器查看分析存储是否启用,也可通过MongoDB命令验证扩展属性:

    var collections = await database.ListCollectionsAsync(new ListCollectionsOptions());
    await foreach (var coll in collections.ToAsyncEnumerable())
    {
        if (coll["name"] == "collectionName")
        {
            Console.WriteLine(coll["options"]); // 输出中可看到analyticalStorageTtl字段
        }
    }
    
  3. 关键注意事项

    • 分析存储只能在集合创建时配置,创建完成后无法通过MongoDB API修改,如需修改只能通过Azure门户或Azure Cosmos DB原生SDK操作。
    • 确保你的Cosmos DB账户已启用分析存储功能(部分区域默认支持,若未启用需在门户中开启账户级别的分析存储)。

内容的提问来源于stack exchange,提问作者Tomasz Lubocki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:02:09