or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

common-models.mdindex.mdmariadb-single-server.mdmysql-flexible-servers.mdmysql-single-server.mdpostgresql-flexible-servers.mdpostgresql-single-server.md
tile.json

tessl/pypi-azure-mgmt-rdbms

Microsoft Azure RDBMS Management Client Library for Python providing management capabilities for MySQL, MariaDB, and PostgreSQL databases

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/azure-mgmt-rdbms@10.1.x

To install, run

npx @tessl/cli install tessl/pypi-azure-mgmt-rdbms@10.1.0

index.mddocs/

Azure RDBMS Management

Microsoft 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.

Package Information

  • Package Name: azure-mgmt-rdbms
  • Language: Python
  • Installation: pip install azure-mgmt-rdbms

Core Imports

from 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 PostgreSQLFlexibleClient

For 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 AsyncMariaDBClient

Basic Usage

from 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()

Architecture

The package follows Azure SDK patterns with distinct management clients for each database service:

  • Single Server Services: Legacy deployment model with MySQL, PostgreSQL, and MariaDB support
  • Flexible Server Services: Modern deployment model with enhanced capabilities (MySQL and PostgreSQL only)
  • Management Clients: Service-specific clients providing operations for server lifecycle, configuration, and monitoring
  • Operations Classes: Grouped functionality for specific resource types (servers, databases, firewall rules, etc.)
  • Long Running Operations (LRO): Asynchronous operations with polling support for resource-intensive tasks

Each service provides both synchronous and asynchronous client implementations, with consistent authentication patterns using Azure Identity and comprehensive error handling through Azure Core exceptions.

Capabilities

MySQL Single Server Management

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: ServerSecurityAlertPoliciesOperations

MySQL Single Server

PostgreSQL Single Server Management

Management 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: ServerSecurityAlertPoliciesOperations

PostgreSQL Single Server

MariaDB Single Server Management

Complete 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: ServerSecurityAlertPoliciesOperations

MariaDB Single Server

MySQL Flexible Servers Management

Enhanced 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: Operations

MySQL Flexible Servers

PostgreSQL Flexible Servers Management

Modern 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: Operations

PostgreSQL Flexible Servers

Common Models and Types

Shared 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]

Common Models

Error Handling

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}")