SuperAPI AI 工具集

azure-resource-manager-mysql-dotnet

部署与运维

查看项目

更新于 10-16 02:12

技能介绍

用途

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 已弃用并计划退役,不在本技能范围内。
  • 仅当任务明确匹配上述范围时使用。
  • 不应将输出视为环境特定验证、测试或专家评审的替代。
  • 若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。
  • 资料未提供收费、价格或平台支持范围等额外信息。