Appearance
使用 .NET SDK 自动化管理 Azure Cache for Redis 资源
解决云资源手动配置低效问题:通过 Azure Resource Manager (ARM) SDK for .NET,将 Redis 缓存的创建、扩容、防火墙策略和密钥管理转化为可版本化的代码。
为什么需要这个技能
在企业级开发中,Redis 的管理分为管理平面(Management Plane)和数据平面(Data Plane)。
大多数开发者习惯使用 StackExchange.Redis 进行数据的读写(数据平面),但在自动化部署、CI/CD 流水线或多租户环境下,我们需要通过代码来创建 Redis 实例、修改 SKU 规格、配置 VNet 注入或更新防火墙规则。如果依赖 Azure 门户手动操作,会导致配置不一致且无法快速复现。本技能教你如何使用 Azure.ResourceManager.Redis 实现这些管理操作的自动化。
适用场景
- 基础设施即代码 (IaC):在 .NET 应用启动时自动检查并部署所需的 Redis 缓存实例。
- 动态环境扩缩容:根据业务需求,通过代码自动升级 Redis SKU 规格(如从 Standard 升级到 Premium)。
- 安全加固自动化:自动配置防火墙白名单、强制开启 TLS 1.2 或定期轮换访问密钥。
- 自动化备份与恢复:针对 Premium 级别实例,通过代码触发 RDB 文件的导入或导出。
核心工作流
1. 环境准备与身份认证
安装必要的 NuGet 包并配置 Azure 凭据。建议始终使用 DefaultAzureCredential 以支持多种环境(本地、托管标识等)。
bash
dotnet add package Azure.ResourceManager.Redis
dotnet add package Azure.Identitycsharp
using Azure.Identity;
using Azure.ResourceManager;
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);2. 资源生命周期管理
通过 ArmClient 建立层级调用关系:Subscription ResourceGroup RedisResource。
- 创建实例:定义
RedisCreateOrUpdateContent,指定 SKU(Basic/Standard/Premium)和地理位置。 - 更新配置:使用
RedisPatch快速修改现有实例的容量或内存策略。 - 密钥管理:调用
GetKeysAsync获取访问密钥,或使用RegenerateKeyAsync实现密钥轮转。
3. 进阶网络与维护
- 防火墙配置:通过
GetRedisFirewallRules()管理 IP 过滤规则,确保仅允许特定内网访问。 - 补丁计划:针对 Premium 实例,定义
RedisPatchScheduleData设定维护时间窗。
下载和安装
下载 azure-resource-manager-redis-dotnet 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐