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.00
# Azure RDBMS Management
1
2
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.
3
4
## Package Information
5
6
- **Package Name**: azure-mgmt-rdbms
7
- **Language**: Python
8
- **Installation**: `pip install azure-mgmt-rdbms`
9
10
## Core Imports
11
12
```python
13
from azure.mgmt.rdbms.mysql import MySQLManagementClient
14
from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
15
from azure.mgmt.rdbms.mariadb import MariaDBManagementClient
16
from azure.mgmt.rdbms.mysql_flexibleservers import MySQLManagementClient as MySQLFlexibleClient
17
from azure.mgmt.rdbms.postgresql_flexibleservers import PostgreSQLManagementClient as PostgreSQLFlexibleClient
18
```
19
20
For async operations:
21
```python
22
from azure.mgmt.rdbms.mysql.aio import MySQLManagementClient as AsyncMySQLClient
23
from azure.mgmt.rdbms.postgresql.aio import PostgreSQLManagementClient as AsyncPostgreSQLClient
24
from azure.mgmt.rdbms.mariadb.aio import MariaDBManagementClient as AsyncMariaDBClient
25
```
26
27
## Basic Usage
28
29
```python
30
from azure.identity import DefaultAzureCredential
31
from azure.mgmt.rdbms.mysql import MySQLManagementClient
32
33
# Initialize credentials and client
34
credential = DefaultAzureCredential()
35
subscription_id = "your-subscription-id"
36
client = MySQLManagementClient(credential, subscription_id)
37
38
# List all MySQL servers
39
servers = client.servers.list()
40
for server in servers:
41
print(f"Server: {server.name}, Status: {server.user_visible_state}")
42
43
# Get a specific server
44
resource_group = "my-resource-group"
45
server_name = "my-mysql-server"
46
server = client.servers.get(resource_group, server_name)
47
print(f"Server location: {server.location}")
48
print(f"Server version: {server.version}")
49
50
# Create a database
51
database = client.databases.begin_create_or_update(
52
resource_group,
53
server_name,
54
"my-database",
55
{"charset": "utf8", "collation": "utf8_general_ci"}
56
).result()
57
58
# Configure firewall rule
59
firewall_rule = client.firewall_rules.begin_create_or_update(
60
resource_group,
61
server_name,
62
"allow-office",
63
{
64
"start_ip_address": "192.168.1.1",
65
"end_ip_address": "192.168.1.255"
66
}
67
).result()
68
```
69
70
## Architecture
71
72
The package follows Azure SDK patterns with distinct management clients for each database service:
73
74
- **Single Server Services**: Legacy deployment model with MySQL, PostgreSQL, and MariaDB support
75
- **Flexible Server Services**: Modern deployment model with enhanced capabilities (MySQL and PostgreSQL only)
76
- **Management Clients**: Service-specific clients providing operations for server lifecycle, configuration, and monitoring
77
- **Operations Classes**: Grouped functionality for specific resource types (servers, databases, firewall rules, etc.)
78
- **Long Running Operations (LRO)**: Asynchronous operations with polling support for resource-intensive tasks
79
80
Each service provides both synchronous and asynchronous client implementations, with consistent authentication patterns using Azure Identity and comprehensive error handling through Azure Core exceptions.
81
82
## Capabilities
83
84
### MySQL Single Server Management
85
86
Complete management capabilities for MySQL single server deployments including server lifecycle, database operations, security configuration, and performance monitoring with query insights and advisory recommendations.
87
88
```python { .api }
89
class MySQLManagementClient:
90
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
91
92
# Core operations
93
servers: ServersOperations
94
databases: DatabasesOperations
95
firewall_rules: FirewallRulesOperations
96
virtual_network_rules: VirtualNetworkRulesOperations
97
configurations: ConfigurationsOperations
98
server_parameters: ServerParametersOperations
99
log_files: LogFilesOperations
100
replicas: ReplicasOperations
101
102
# Administrative operations
103
server_administrators: ServerAdministratorsOperations
104
recoverable_servers: RecoverableServersOperations
105
server_keys: ServerKeysOperations
106
private_endpoint_connections: PrivateEndpointConnectionsOperations
107
private_link_resources: PrivateLinkResourcesOperations
108
109
# Performance and monitoring
110
query_texts: QueryTextsOperations
111
top_query_statistics: TopQueryStatisticsOperations
112
wait_statistics: WaitStatisticsOperations
113
advisors: AdvisorsOperations
114
recommended_actions: RecommendedActionsOperations
115
location_based_recommended_action_sessions_operation_status: LocationBasedRecommendedActionSessionsOperationStatusOperations
116
location_based_recommended_action_sessions_result: LocationBasedRecommendedActionSessionsResultOperations
117
118
# Capability and availability operations
119
server_based_performance_tier: ServerBasedPerformanceTierOperations
120
location_based_performance_tier: LocationBasedPerformanceTierOperations
121
check_name_availability: CheckNameAvailabilityOperations
122
operations: Operations
123
124
# Security operations
125
server_security_alert_policies: ServerSecurityAlertPoliciesOperations
126
```
127
128
[MySQL Single Server](./mysql-single-server.md)
129
130
### PostgreSQL Single Server Management
131
132
Management capabilities for PostgreSQL single server deployments with core server operations, database management, security configuration, and backup/restore functionality.
133
134
```python { .api }
135
class PostgreSQLManagementClient:
136
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
137
138
# Core operations
139
servers: ServersOperations
140
databases: DatabasesOperations
141
firewall_rules: FirewallRulesOperations
142
virtual_network_rules: VirtualNetworkRulesOperations
143
configurations: ConfigurationsOperations
144
server_parameters: ServerParametersOperations
145
log_files: LogFilesOperations
146
replicas: ReplicasOperations
147
148
# Administrative operations
149
server_administrators: ServerAdministratorsOperations
150
recoverable_servers: RecoverableServersOperations
151
server_keys: ServerKeysOperations
152
private_endpoint_connections: PrivateEndpointConnectionsOperations
153
private_link_resources: PrivateLinkResourcesOperations
154
155
# Capability and availability operations
156
server_based_performance_tier: ServerBasedPerformanceTierOperations
157
location_based_performance_tier: LocationBasedPerformanceTierOperations
158
check_name_availability: CheckNameAvailabilityOperations
159
operations: Operations
160
161
# Security operations
162
server_security_alert_policies: ServerSecurityAlertPoliciesOperations
163
```
164
165
[PostgreSQL Single Server](./postgresql-single-server.md)
166
167
### MariaDB Single Server Management
168
169
Complete management capabilities for MariaDB single server deployments including server lifecycle, database operations, security configuration, and performance monitoring with query insights and advisory recommendations.
170
171
```python { .api }
172
class MariaDBManagementClient:
173
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
174
175
# Core operations
176
servers: ServersOperations
177
databases: DatabasesOperations
178
firewall_rules: FirewallRulesOperations
179
virtual_network_rules: VirtualNetworkRulesOperations
180
configurations: ConfigurationsOperations
181
server_parameters: ServerParametersOperations
182
log_files: LogFilesOperations
183
replicas: ReplicasOperations
184
185
# Administrative operations
186
recoverable_servers: RecoverableServersOperations
187
private_endpoint_connections: PrivateEndpointConnectionsOperations
188
private_link_resources: PrivateLinkResourcesOperations
189
190
# Performance and monitoring
191
query_texts: QueryTextsOperations
192
top_query_statistics: TopQueryStatisticsOperations
193
wait_statistics: WaitStatisticsOperations
194
advisors: AdvisorsOperations
195
recommended_actions: RecommendedActionsOperations
196
location_based_recommended_action_sessions_operation_status: LocationBasedRecommendedActionSessionsOperationStatusOperations
197
location_based_recommended_action_sessions_result: LocationBasedRecommendedActionSessionsResultOperations
198
199
# Capability and availability operations
200
server_based_performance_tier: ServerBasedPerformanceTierOperations
201
location_based_performance_tier: LocationBasedPerformanceTierOperations
202
check_name_availability: CheckNameAvailabilityOperations
203
operations: Operations
204
205
# Security operations
206
server_security_alert_policies: ServerSecurityAlertPoliciesOperations
207
```
208
209
[MariaDB Single Server](./mariadb-single-server.md)
210
211
### MySQL Flexible Servers Management
212
213
Enhanced management capabilities for MySQL flexible server deployments with advanced features including high availability, automated backups, maintenance windows, and private networking.
214
215
```python { .api }
216
class MySQLManagementClient:
217
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
218
219
# Core operations
220
servers: ServersOperations
221
databases: DatabasesOperations
222
firewall_rules: FirewallRulesOperations
223
configurations: ConfigurationsOperations
224
replicas: ReplicasOperations
225
backups: BackupsOperations
226
227
# Capability and networking operations
228
location_based_capabilities: LocationBasedCapabilitiesOperations
229
check_virtual_network_subnet_usage: CheckVirtualNetworkSubnetUsageOperations
230
check_name_availability: CheckNameAvailabilityOperations
231
get_private_dns_zone_suffix: GetPrivateDnsZoneSuffixOperations
232
operations: Operations
233
```
234
235
[MySQL Flexible Servers](./mysql-flexible-servers.md)
236
237
### PostgreSQL Flexible Servers Management
238
239
Modern PostgreSQL deployment management with flexible server architecture providing enhanced scalability, high availability, and advanced networking capabilities.
240
241
```python { .api }
242
class PostgreSQLManagementClient:
243
def __init__(self, credential, subscription_id, base_url="https://management.azure.com", **kwargs): ...
244
245
# Core operations
246
servers: ServersOperations
247
databases: DatabasesOperations
248
firewall_rules: FirewallRulesOperations
249
configurations: ConfigurationsOperations
250
251
# Capability and networking operations
252
location_based_capabilities: LocationBasedCapabilitiesOperations
253
virtual_network_subnet_usage: VirtualNetworkSubnetUsageOperations
254
check_name_availability: CheckNameAvailabilityOperations
255
get_private_dns_zone_suffix: GetPrivateDnsZoneSuffixOperations
256
operations: Operations
257
```
258
259
[PostgreSQL Flexible Servers](./postgresql-flexible-servers.md)
260
261
### Common Models and Types
262
263
Shared data structures, enums, and configuration objects used across all database services for consistent API patterns and type definitions.
264
265
```python { .api }
266
# Common server states
267
class ServerState(str, Enum):
268
READY = "Ready"
269
DROPPING = "Dropping"
270
DISABLED = "Disabled"
271
STARTING = "Starting"
272
STOPPING = "Stopping"
273
STOPPED = "Stopped"
274
UPDATING = "Updating"
275
276
# Common resource properties
277
class Resource:
278
id: str
279
name: str
280
type: str
281
location: str
282
tags: Dict[str, str]
283
```
284
285
[Common Models](./common-models.md)
286
287
## Error Handling
288
289
All operations may raise Azure SDK exceptions:
290
291
```python
292
from azure.core.exceptions import HttpResponseError, ResourceNotFoundError, ClientAuthenticationError
293
294
try:
295
server = client.servers.get(resource_group, server_name)
296
except ResourceNotFoundError:
297
print("Server not found")
298
except ClientAuthenticationError:
299
print("Authentication failed")
300
except HttpResponseError as e:
301
print(f"HTTP error: {e.status_code} - {e.message}")
302
```