Microsoft Azure RDBMS Management Client Library for Python providing management capabilities for MySQL, MariaDB, and PostgreSQL databases
npx @tessl/cli install tessl/pypi-azure-mgmt-rdbms@10.1.0Microsoft Azure RDBMS Management Client Library for Python provides comprehensive management capabilities for Azure's relational database services. This package enables programmatic control over MySQL, MariaDB, and PostgreSQL databases on Azure, supporting both traditional single server deployments and modern flexible server architectures with enhanced capabilities.
pip install azure-mgmt-rdbmsfrom azure.mgmt.rdbms.mysql import MySQLManagementClient
from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
from azure.mgmt.rdbms.mariadb import MariaDBManagementClient
from azure.mgmt.rdbms.mysql_flexibleservers import MySQLManagementClient as MySQLFlexibleClient
from azure.mgmt.rdbms.postgresql_flexibleservers import PostgreSQLManagementClient as PostgreSQLFlexibleClientFor async operations:
from azure.mgmt.rdbms.mysql.aio import MySQLManagementClient as AsyncMySQLClient
from azure.mgmt.rdbms.postgresql.aio import PostgreSQLManagementClient as AsyncPostgreSQLClient
from azure.mgmt.rdbms.mariadb.aio import MariaDBManagementClient as AsyncMariaDBClientfrom azure.identity import DefaultAzureCredential
from azure.mgmt.rdbms.mysql import MySQLManagementClient
# Initialize credentials and client
credential = DefaultAzureCredential()
subscription_id = "your-subscription-id"
client = MySQLManagementClient(credential, subscription_id)
# List all MySQL servers
servers = client.servers.list()
for server in servers:
print(f"Server: {server.name}, Status: {server.user_visible_state}")
# Get a specific server
resource_group = "my-resource-group"
server_name = "my-mysql-server"
server = client.servers.get(resource_group, server_name)
print(f"Server location: {server.location}")
print(f"Server version: {server.version}")
# Create a database
database = client.databases.begin_create_or_update(
resource_group,
server_name,
"my-database",
{"charset": "utf8", "collation": "utf8_general_ci"}
).result()
# Configure firewall rule
firewall_rule = client.firewall_rules.begin_create_or_update(
resource_group,
server_name,
"allow-office",
{
"start_ip_address": "192.168.1.1",
"end_ip_address": "192.168.1.255"
}
).result()The package follows Azure SDK patterns with distinct management clients for each database service:
Each service provides both synchronous and asynchronous client implementations, with consistent authentication patterns using Azure Identity and comprehensive error handling through Azure Core exceptions.
Complete management capabilities for MySQL single server deployments including server lifecycle, database operations, security configuration, and performance monitoring with query insights and advisory recommendations.
class MySQLManagementClient:
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
# Core operations
servers: ServersOperations
databases: DatabasesOperations
firewall_rules: FirewallRulesOperations
virtual_network_rules: VirtualNetworkRulesOperations
configurations: ConfigurationsOperations
server_parameters: ServerParametersOperations
log_files: LogFilesOperations
replicas: ReplicasOperations
# Administrative operations
server_administrators: ServerAdministratorsOperations
recoverable_servers: RecoverableServersOperations
server_keys: ServerKeysOperations
private_endpoint_connections: PrivateEndpointConnectionsOperations
private_link_resources: PrivateLinkResourcesOperations
# Performance and monitoring
query_texts: QueryTextsOperations
top_query_statistics: TopQueryStatisticsOperations
wait_statistics: WaitStatisticsOperations
advisors: AdvisorsOperations
recommended_actions: RecommendedActionsOperations
location_based_recommended_action_sessions_operation_status: LocationBasedRecommendedActionSessionsOperationStatusOperations
location_based_recommended_action_sessions_result: LocationBasedRecommendedActionSessionsResultOperations
# Capability and availability operations
server_based_performance_tier: ServerBasedPerformanceTierOperations
location_based_performance_tier: LocationBasedPerformanceTierOperations
check_name_availability: CheckNameAvailabilityOperations
operations: Operations
# Security operations
server_security_alert_policies: ServerSecurityAlertPoliciesOperationsManagement capabilities for PostgreSQL single server deployments with core server operations, database management, security configuration, and backup/restore functionality.
class PostgreSQLManagementClient:
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
# Core operations
servers: ServersOperations
databases: DatabasesOperations
firewall_rules: FirewallRulesOperations
virtual_network_rules: VirtualNetworkRulesOperations
configurations: ConfigurationsOperations
server_parameters: ServerParametersOperations
log_files: LogFilesOperations
replicas: ReplicasOperations
# Administrative operations
server_administrators: ServerAdministratorsOperations
recoverable_servers: RecoverableServersOperations
server_keys: ServerKeysOperations
private_endpoint_connections: PrivateEndpointConnectionsOperations
private_link_resources: PrivateLinkResourcesOperations
# Capability and availability operations
server_based_performance_tier: ServerBasedPerformanceTierOperations
location_based_performance_tier: LocationBasedPerformanceTierOperations
check_name_availability: CheckNameAvailabilityOperations
operations: Operations
# Security operations
server_security_alert_policies: ServerSecurityAlertPoliciesOperationsComplete management capabilities for MariaDB single server deployments including server lifecycle, database operations, security configuration, and performance monitoring with query insights and advisory recommendations.
class MariaDBManagementClient:
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
# Core operations
servers: ServersOperations
databases: DatabasesOperations
firewall_rules: FirewallRulesOperations
virtual_network_rules: VirtualNetworkRulesOperations
configurations: ConfigurationsOperations
server_parameters: ServerParametersOperations
log_files: LogFilesOperations
replicas: ReplicasOperations
# Administrative operations
recoverable_servers: RecoverableServersOperations
private_endpoint_connections: PrivateEndpointConnectionsOperations
private_link_resources: PrivateLinkResourcesOperations
# Performance and monitoring
query_texts: QueryTextsOperations
top_query_statistics: TopQueryStatisticsOperations
wait_statistics: WaitStatisticsOperations
advisors: AdvisorsOperations
recommended_actions: RecommendedActionsOperations
location_based_recommended_action_sessions_operation_status: LocationBasedRecommendedActionSessionsOperationStatusOperations
location_based_recommended_action_sessions_result: LocationBasedRecommendedActionSessionsResultOperations
# Capability and availability operations
server_based_performance_tier: ServerBasedPerformanceTierOperations
location_based_performance_tier: LocationBasedPerformanceTierOperations
check_name_availability: CheckNameAvailabilityOperations
operations: Operations
# Security operations
server_security_alert_policies: ServerSecurityAlertPoliciesOperationsEnhanced management capabilities for MySQL flexible server deployments with advanced features including high availability, automated backups, maintenance windows, and private networking.
class MySQLManagementClient:
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
# Core operations
servers: ServersOperations
databases: DatabasesOperations
firewall_rules: FirewallRulesOperations
configurations: ConfigurationsOperations
replicas: ReplicasOperations
backups: BackupsOperations
# Capability and networking operations
location_based_capabilities: LocationBasedCapabilitiesOperations
check_virtual_network_subnet_usage: CheckVirtualNetworkSubnetUsageOperations
check_name_availability: CheckNameAvailabilityOperations
get_private_dns_zone_suffix: GetPrivateDnsZoneSuffixOperations
operations: OperationsModern PostgreSQL deployment management with flexible server architecture providing enhanced scalability, high availability, and advanced networking capabilities.
class PostgreSQLManagementClient:
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
# Core operations
servers: ServersOperations
databases: DatabasesOperations
firewall_rules: FirewallRulesOperations
configurations: ConfigurationsOperations
# Capability and networking operations
location_based_capabilities: LocationBasedCapabilitiesOperations
virtual_network_subnet_usage: VirtualNetworkSubnetUsageOperations
check_name_availability: CheckNameAvailabilityOperations
get_private_dns_zone_suffix: GetPrivateDnsZoneSuffixOperations
operations: OperationsShared data structures, enums, and configuration objects used across all database services for consistent API patterns and type definitions.
# Common server states
class ServerState(str, Enum):
READY = "Ready"
DROPPING = "Dropping"
DISABLED = "Disabled"
STARTING = "Starting"
STOPPING = "Stopping"
STOPPED = "Stopped"
UPDATING = "Updating"
# Common resource properties
class Resource:
id: str
name: str
type: str
location: str
tags: Dict[str, str]All operations may raise Azure SDK exceptions:
from azure.core.exceptions import HttpResponseError, ResourceNotFoundError, ClientAuthenticationError
try:
server = client.servers.get(resource_group, server_name)
except ResourceNotFoundError:
print("Server not found")
except ClientAuthenticationError:
print("Authentication failed")
except HttpResponseError as e:
print(f"HTTP error: {e.status_code} - {e.message}")