用途
Azure.ResourceManager.MySql 是 Azure Resource Manager 的 .NET SDK,用于以编程方式管理 Azure Database for MySQL Flexible Server 的部署与生命周期。该技能聚焦 MySQL 弹性服务器(Flexible Server),不覆盖已弃用并计划退役的 Single Server。
主要能力
- 创建 MySQL Flexible Server,可指定 SKU、版本、存储、备份、高可用与可用区等配置。
- 在服务器内创建数据库,设置字符集与排序规则。
- 配置 IP 防火墙规则,包括允许特定 IP 段以及允许 Azure 内服务与资源。
- 读取与更新服务器参数(如 max_connections、innodb_buffer_pool_size、slow_query_log、long_query_time)。
- 配置 Entra ID(Active Directory)管理员。
- 列出与管理资源组内的服务器及服务器内的数据库。
- 查看备份信息并执行时间点还原(Point-in-Time Restore)。
- 停止、启动与重启服务器。
- 通过 Patch 更新服务器实现扩缩容(SKU 与存储)。
- 删除服务器。
使用方式
安装:
dotnet add package Azure.ResourceManager.MySql dotnet add package Azure.Identity
当前版本:v1.2.0(GA);API 版本:2023-12-30。
环境变量:
AZURE_SUBSCRIPTION_ID=<your-subscription-id> AZURE_RESOURCE_GROUP=<your-resource-group> AZURE_MYSQL_SERVER_NAME=<your-mysql-server>
认证示例:
using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.MySql; using Azure.ResourceManager.MySql.FlexibleServers;
ArmClient client = new ArmClient(new DefaultAzureCredential());
资源层级:
Subscription └── ResourceGroup └── MySqlFlexibleServer # MySQL Flexible Server instance ├── MySqlFlexibleServerDatabase # Database within the server ├── MySqlFlexibleServerFirewallRule # IP firewall rules ├── MySqlFlexibleServerConfiguration # Server parameters ├── MySqlFlexibleServerBackup # Backup information ├── MySqlFlexibleServerMaintenanceWindow # Maintenance schedule └── MySqlFlexibleServerAadAdministrator # Entra ID admin
核心工作流包括:创建服务器、创建数据库、配置防火墙规则、更新服务器配置、配置 Entra ID 管理员、列出与管理服务器、备份与还原、停止与启动服务器、更新服务器(扩缩容)、删除服务器。
连接方式:创建服务器后可使用 ADO.NET 连接字符串连接;推荐使用 Entra ID 令牌(DefaultAzureCredential 获取 https://ossrdbms-aad.database.windows.net/.default 范围的令牌)。
适用场景
- 需要在 .NET 应用中自动化管理 Azure MySQL Flexible Server 的部署与运维。
- 需要以代码方式创建数据库、配置防火墙、调整服务器参数或设置 Entra ID 管理员。
- 需要执行备份查看、时间点还原、启停、扩缩容或删除等资源管理操作。
- 开发/测试环境可通过停止服务器节省成本。
限制
- 仅适用于 MySQL Flexible Server;Single Server 已弃用并计划退役,不在本技能范围内。
- 仅当任务明确匹配上述范围时使用。
- 不应将输出视为环境特定验证、测试或专家评审的替代。
- 若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。
- 资料未提供收费、价格或平台支持范围等额外信息。