Appearance
使用 .NET SDK 自动化管理 Azure MySQL 灵活服务器
通过集成 Azure Resource Manager SDK for .NET,开发者可以摆脱手动操作门户,实现 MySQL 灵活服务器(Flexible Server)的全生命周期自动化运维,包括资源调度、防火墙配置及高可用性管理。
为什么需要这个技能
在现代云原生架构中,手动在 Azure Portal 中创建和配置数据库不仅低效且容易出错。特别是当需要频繁部署开发/测试环境、执行计划内扩容或实施定时备份恢复时,代码化管理(Infrastructure as Code)是唯一可靠的方案。
由于 Azure 已弃用单服务器(Single Server)模式,全面转向灵活服务器(Flexible Server),掌握该特定 SDK 能够确保你的基础设施符合最新的云标准,并能通过 .NET 代码精确控制存储自动增长、可用区冗余(Zone Redundant)等关键生产特性。
适用场景
- 自动化环境搭建:在 CI/CD 流水线中自动创建与销毁数据库实例。
- 动态资源调度:根据业务高峰期通过代码自动升级 SKU 规格或增加存储容量。
- 安全策略管控:自动化更新防火墙白名单,允许特定的内部 IP 或 Azure 服务访问。
- 成本优化:编写脚本在非工作时间自动停止开发环境服务器,并在需要时启动。
核心工作流
1. 环境初始化与身份验证
安装必要包并使用 DefaultAzureCredential 实现无密钥认证:
bash
dotnet add package Azure.ResourceManager.MySql
dotnet add package Azure.Identitycsharp
ArmClient client = new ArmClient(new DefaultAzureCredential());2. 服务器生命周期管理
- 创建与配置:定义
MySqlFlexibleServerData,指定 SKU(如Standard_D2ds_v4)、存储大小及高可用模式。 - 数据库操作:通过
MySqlFlexibleServerDatabaseCollection在服务器实例下创建具体的逻辑数据库。 - 状态控制:调用
StopAsync()、StartAsync()或RestartAsync()实现服务器的启停。
3. 运维与安全配置
- 防火墙规则:通过
MySqlFlexibleServerFirewallRuleCollection定义 IP 范围或开启 Azure 内部服务访问权限。 - 参数调优:通过
MySqlFlexibleServerConfigurationCollection修改max_connections等服务器参数。 - 权限管理:配置 Entra ID(原 Azure AD)管理员,提升数据库访问安全性。
4. 数据保护与恢复
- 备份查看:遍历
MySqlFlexibleServerBackupResource获取备份快照。 - 点对点恢复:设置
CreateMode = MySqlFlexibleServerCreateMode.PointInTimeRestore快速克隆历史状态服务器。
下载和安装
下载 azure-resource-manager-mysql-dotnet 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐