Azure Redis 管理 SDK(.NET)
帮助 .NET 开发者通过 Azure Resource Manager 配置和管理 Azure Cache for Redis。
技能明确区分管理面与数据面,建议使用 DefaultAzureCredential、TLS 1.2 和禁用非 SSL 端口,也说明了环境变量;因此保留部分信任分。扣分原因是示例直接打印和拼接访问密钥、连接字符串及 SAS URL,未提供最小权限、秘密存储、敏感数据脱敏、操作确认、回滚或删除/重启/导入导出前的安全护栏。
资源层级、安装、认证、创建、读取、更新、删除及若干管理操作均有相互一致的示例,且列出部分 ARM 异常处理和常见 SKU 限制。扣分原因是静态审阅无法验证 API 版本与代码可编译性,错误处理覆盖面有限,许多操作缺少异常、超时、轮询、权限失败和部分成功后的诊断路径;依据静态校准不超过 10 分。
名称、描述、触发词以及管理面/数据面边界较清楚,覆盖 Redis 缓存管理的常见场景。扣分原因是没有明确列出更多不适用场景、输入约束、权限前提或输出格式,也没有中文使用说明或中国大陆网络可达性证据;Azure 服务可用性和区域差异未讨论。
文档包含安装、环境变量、认证、资源层级、核心工作流、SKU 表、类型参考、最佳实践、错误处理、常见陷阱和相关 SDK,并声明 MIT、作者和版本。扣分原因是没有变更日志、维护责任人/更新路径、兼容性验证记录、FAQ 或逐 API 的官方来源;版本信息可能随时间过期。
技能覆盖创建、查询、更新、删除、密钥、网络规则、补丁计划、导入导出和重启等核心管理任务,并给出可直接改写的 C# 示例;因此核心价值明确。扣分原因是示例未经执行验证,关键生产流程缺少完整的权限配置、幂等恢复、轮询和秘密管理,用户仍需进行实质性核对与修改;依据静态校准不超过 7 分。
技能包含明确的包名、版本、API 版本和一个 Microsoft Learn 认证参考,仓库还提供通用 CI、评估工作流和测试代码。扣分原因是给定材料没有证明该 Redis 技能关键路径的专门测试、编译结果或第三方交叉验证,仓库测试也未显示覆盖此路径;依据静态校准不超过 5 分。
- 不要在日志、终端输出或连接字符串中暴露 PrimaryKey/SecondaryKey;应使用 Key Vault 或等效秘密管理,并避免将 SAS URL 写入提示词、源码或日志。
- 删除、重启、密钥再生、导入导出和网络规则变更可能造成中断、数据风险或访问丢失;执行前应要求用户确认并准备备份、回滚和变更窗口。
- 请在实际目标 SDK 版本和目标框架上编译验证示例,并核对当前 Azure Redis API、SKU、区域限制和所需 RBAC 权限。
它能做什么 & 适用场景
这是一个面向 Azure Cache for Redis 管理平面的 Agent Skill,适用于 .NET 项目。它覆盖缓存实例的创建、查询、更新和删除,以及访问密钥、防火墙规则、补丁计划、数据导入导出和强制重启。Premium SKU 相关能力包括集群、地理复制、VNet、持久化和补丁计划。它不负责 Redis 数据平面操作,例如读写键、发布订阅或 Lua 脚本;这些操作应使用 StackExchange.Redis。该 Skill 属于 Microsoft 的 agent-skills 单仓库,仓库整体包含 190 个独立 Skill,采用 MIT 许可证并处于持续开发中。
指导 Agent 使用 Azure.ResourceManager.Redis 和 Azure.Identity,通过 ArmClient 访问订阅、资源组和 RedisResource。它提供创建、读取、更新、删除缓存,获取和轮换访问密钥,创建、列出和删除防火墙规则,配置 Premium 补丁计划,导入或导出 RDB 数据,执行缓存重启,以及配置 Redis 的私有终结点、关联服务器和访问策略的资源层级信息。它还给出 DefaultAzureCredential、环境变量、TLS 1.2、禁用非 SSL 端口、异步长时间运行操作和 RequestFailedException 错误处理示例。
- 负责 Azure 基础设施的 .NET 开发者,需要以代码创建或更新 Azure Cache for Redis。
- 平台工程师需要为 Redis 缓存配置 IP 防火墙规则、访问密钥和安全传输设置。
- 使用 Premium SKU 的团队需要设置补丁维护窗口、集群、持久化或地理复制相关资源。
- 需要先由 ARM 创建缓存、再由应用使用 StackExchange.Redis 执行数据读写的开发团队。
- 希望采用 DefaultAzureCredential 和幂等 CreateOrUpdateAsync 模式的 Azure SDK 使用者。
优缺点一览
- 覆盖 Redis 缓存生命周期、访问密钥、防火墙和多项 ARM 管理操作。
- 提供可复制的 C# 示例、资源层级导航方式和错误处理模式。
- 明确区分管理平面与数据平面,降低 SDK 选型错误。
- README 列出该 Skill 有 14 个测试场景。
- 支持 .NET 8.0 和 .NET Standard 2.0。
- 不覆盖 Redis 键值读写、发布订阅、流或 Lua 脚本等数据平面操作。
- 部分能力要求 Premium SKU,且不能从 Premium 降级到 Standard 或 Basic。
- 缓存创建可能需要 15 到 20 分钟。
- 源材料没有提供该 Skill 的独立版本维护历史或完整测试结果。
- 源材料未说明除所列 Agent 安装方式之外的具体客户端兼容细节。
如何安装
将该 Skill 文件放入目标 Agent 的 Skill 目录;对于 GitHub Copilot,可按仓库说明运行 npx skills add microsoft/skills,再从安装向导中选择需要的 Skill。也可以克隆仓库后复制 .github/plugins/azure-sdk-dotnet/skills/azure-resource-manager-redis-dotnet/。项目依赖可运行 dotnet add package Azure.ResourceManager.Redis 和 dotnet add package Azure.Identity。具体 Agent 的手动安装目录由所用 Agent 决定。
如何使用
在启用该 Skill 的编码 Agent 中提出明确的管理平面请求,例如:“使用 Azure.ResourceManager.Redis 创建一个 East US 的 Standard Redis 缓存,启用 TLS 1.2,并配置防火墙规则。”对于数据平面请求,例如读写键或发布订阅,应改用 StackExchange.Redis。使用 DefaultAzureCredential 时,按需设置 AZURE_SUBSCRIPTION_ID、AZURE_TOKEN_CREDENTIALS 以及服务主体相关环境变量。
对比同类
与 StackExchange.Redis 的关系是互补而非替代:Azure.ResourceManager.Redis 用于创建和管理 Azure Cache for Redis 资源,StackExchange.Redis 用于连接缓存并执行数据平面操作。