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

如何使用C#为Azure存储账户创建Lifecycle Management规则

问题解答

完全可以通过C#实现Azure存储账户生命周期管理规则的创建,微软官方提供了开箱即用的SDK方案,不需要手动封装调用REST API。

实现依赖

官方推荐使用新一代Azure资源管理SDK的Azure.ResourceManager.Storage NuGet包,该包原生支持存储账户全量配置操作,包含生命周期管理规则的增删改查能力。
你可以通过NuGet包管理器直接安装,包安装命令:
Install-Package Azure.ResourceManager.Storage

核心实现示例
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Storage;
using Azure.ResourceManager.Storage.Models;

// 初始化ARM客户端,默认使用当前环境的Azure身份凭证(本地开发可使用Azure CLI、VS/VS Code登录身份,生产环境可使用托管身份)
ArmClient armClient = new ArmClient(new DefaultAzureCredential());

// 构造目标存储账户的资源ID
var storageAccountId = new ResourceIdentifier("/subscriptions/<替换为你的订阅ID>/resourceGroups/<替换为资源组名称>/providers/Microsoft.Storage/storageAccounts/<替换为存储账户名称>");
StorageAccountResource storageAccount = armClient.GetStorageAccountResource(storageAccountId);

// 构造生命周期规则,示例配置为:块Blob上传30天后转冷层,365天后删除
var lifecycleRule = new StorageManagementPolicyRule("sample-rule", StorageRuleType.Lifecycle)
{
    IsEnabled = true,
    Definition = new StorageManagementPolicyDefinition(
        actions: new StorageManagementPolicyAction()
        {
            BaseBlob = new StorageManagementPolicyBaseBlob()
            {
                TierToCool = new StorageManagementPolicyTierToCoolAction(30),
                Delete = new StorageManagementPolicyDeleteAction(365)
            }
        },
        filters: new StorageManagementPolicyFilter()
        {
            BlobTypes = { "blockBlob" }
            // 可按需添加前缀匹配规则,过滤指定路径的Blob
            // PrefixMatch = { "logs/" }
        })
};

// 提交规则配置到存储账户
var managementPolicy = new StorageManagementPolicyData();
managementPolicy.Rules.Add(lifecycleRule);
await storageAccount.GetStorageManagementPolicies().CreateOrUpdateAsync(Azure.WaitUntil.Completed, StorageManagementPolicyName.Default, managementPolicy);
注意事项
  • 调用SDK的身份需要持有存储账户对应的RBAC权限,包括存储账户贡献者、所有者,或者自定义包含Microsoft.Storage/storageAccounts/managementPolicies/write权限的角色,否则会触发权限错误。
  • 旧版的Microsoft.Azure.Management.Storage包也可以实现相同功能,但该包已停止维护,不建议在新项目中使用。
  • 生命周期规则配置提交后,最长24小时内会正式生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:24:05