Azure MySQL Flexible Server for .NET
Manage Azure MySQL Flexible Server infrastructure and databases from .NET with the Azure Resource Manager SDK.
The document shows Azure authentication guidance, environment variables, and some security practices, including managed identity, private endpoints, and Entra ID; however, examples contain plaintext administrator passwords, password-bearing connection strings, and a 0.0.0.0 firewall rule. It does not require confirmation for high-impact operations or explain permission scope, data flow, rollback, or secret handling, so points are deducted.
The skill covers major paths including creation, updates, backup, restore, start/stop, deletion, and partial HTTP error handling with user-facing messages. However, it provides only static snippets, with no skill-specific test or compilation evidence; several examples have uncertain context, API-version compatibility, and async correctness, while abnormal-input handling and recovery guidance are thin. The score is conservatively limited by static-review calibration.
The name, description, trigger terms, and MySQL Flexible Server scenario are reasonably clear, and common database-management needs are covered. However, input/output contracts, non-fit scenarios, least-privilege requirements, and negative trigger boundaries are not defined, and there is no Chinese-language guidance or mainland-China reachability analysis, so points are deducted.
The SKILL.md has clear sections for installation, environment variables, authentication, workflows, types, SKUs, best practices, errors, related SDKs, references, license, author, and version. It lacks a changelog, explicit maintenance owner or update path, verifiable version-change context, and sufficiently detailed limitations and troubleshooting, so points are deducted.
The document provides directly reusable C# patterns for servers, databases, firewall rules, configuration, administrators, backup/restore, lifecycle operations, and scaling, supporting the core task. However, it contains no reproducible successful output or skill-specific validation, and production use requires substantial manual review of security defaults and API correctness, so the score remains below the static ceiling.
The files provide package, version, API-version, and official-reference metadata; the repository also shows generic CI, evaluation workflows, and harness tests. But the supplied material does not demonstrate skill-specific tests, compilation results, or third-party execution evidence for this path, and no execution was performed, so only limited static evidence credit is justified.
- Do not copy the example administrator password or place tokens in connection strings; use secret management and least-privilege identities.
- The 0.0.0.0 firewall example broadens network access and requires explicit validation of scope, authorization, and rollback before use.
- Compile and verify every API, async call, and restore parameter against the currently selected Azure.ResourceManager.MySql version before production use.
- Delete, restore, scale, start/stop, and firewall operations can affect external resources or costs, but the skill defines no confirmation workflow.
What it does & when to use it
This skill helps .NET developers use Azure.ResourceManager.MySql to manage MySQL Flexible Server deployments. It covers server creation, databases, firewall rules, configuration, backups, high availability, Entra ID administrators, lifecycle operations, and restore workflows. The documented SDK version is v1.2.0 GA with API version 2023-12-30. The scope is Flexible Server only; Single Server is deprecated and scheduled for retirement.
It shows how to install Azure.ResourceManager.MySql and Azure.Identity, authenticate with DefaultAzureCredential or a specific credential, and create an ArmClient. The examples create, list, update, scale, stop, start, restart, and delete servers; create databases; configure IP firewall rules and server parameters; configure Entra ID administrators; list backups; perform point-in-time restore; and handle Azure RequestFailedException errors. It also provides ADO.NET and Entra ID token connection-string examples.
- A .NET infrastructure engineer needs to provision and configure an Azure MySQL Flexible Server.
- An application team needs to create databases, tune server parameters, and restrict access with firewall rules.
- A production team needs zone-redundant high availability, backup retention, and auto-growing storage.
- An operator needs to inspect backups, restore to a point in time, stop development servers, or resize compute and storage.
- A team wants Azure-native authentication through DefaultAzureCredential and Entra ID administration.
Pros & cons
- Covers the main Flexible Server management lifecycle plus databases, firewall, configuration, backups, restore, HA, and Entra ID administration.
- Includes copyable C# examples, resource hierarchy, key type references, and Azure error-handling patterns.
- Provides explicit guidance for Flexible Server, DefaultAzureCredential, zone-redundant HA, backup retention, and storage auto-grow.
- Released under the MIT license as part of Microsoft's maintained Agent Skills collection.
- It is scoped to MySQL Flexible Server and does not target the deprecated Single Server model.
- Examples contain plaintext passwords and placeholders, so production secret handling must be added separately.
- The source does not provide independent test results or platform coverage for this specific skill.
- Use requires Azure credentials, subscription/resource-group context, permissions, and network access; the skill does not provision that environment itself.
How to install
To install the collection, run npx skills add microsoft/skills and select the required skill in the wizard. The README says skills are installed into the selected agent's directory, such as .github/skills/ for GitHub Copilot. The source does not provide a dedicated installation command for this individual skill. It also documents manual cloning, but not a skill-specific copy command from .github/plugins/azure-sdk-dotnet/skills/azure-resource-manager-mysql-dotnet/.
How to use
Install the packages with dotnet add package Azure.ResourceManager.MySql and dotnet add package Azure.Identity. Then use a request containing a documented trigger such as “MySQL Flexible Server” or “MySQL firewall,” for example: “Create a zone-redundant MySQL Flexible Server with Azure.ResourceManager.MySql and DefaultAzureCredential, then add a database and firewall rule.” Set AZURE_SUBSCRIPTION_ID, AZURE_RESOURCE_GROUP, and AZURE_MYSQL_SERVER_NAME; when using DefaultAzureCredential in production, also set AZURE_TOKEN_CREDENTIALS=prod.
Compared to similar skills
Unlike MySqlConnector, this skill uses Azure.ResourceManager.MySql to manage Azure-hosted server and infrastructure resources. MySqlConnector is for application-level MySQL data access. They can be used together, but this skill is not a general SQL query or data-access library.