| title | Azure DNS SDK for Python |
|---|---|
| description | Reference for Azure DNS SDK for Python |
| ms.date | 02/27/2026 |
| ms.topic | reference |
| ms.devlang | python |
| ms.service | dns |
Azure DNS is a hosting service for DNS domains that provides DNS resolution via the Azure infrastructure.
To get started with Azure DNS, see Get started with Azure DNS using the Azure portal.
pip install azure-mgmt-dnsThe following code creates an instance of the management client.
You will need to provide your subscription_id which can be retrieved
from your subscription list.
See Resource Management Authentication
for details on handling Azure Active Directory authentication with the Python SDK, and creating a Credentials instance.
from azure.mgmt.dns import DnsManagementClient
from azure.common.credentials import UserPassCredentials
# Replace this with your subscription id
subscription_id = 'aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e'
# See above for details on creating different types of AAD credentials
credentials = UserPassCredentials(
'user@domain.com', # Your user
'my_password', # Your password
)
dns_client = DnsManagementClient(
credentials,
subscription_id
)# The only valid value is 'global', otherwise you will get a:
# The subscription is not registered for the resource type 'dnszones' in the location 'westus'.
zone = dns_client.zones.create_or_update(
'MyResourceGroup',
'pydns.com',
{
'zone_type': 'Public', # or Private
'location': 'global'
}
)record_set = dns_client.record_sets.create_or_update(
'MyResourceGroup',
'pydns.com',
'MyRecordSet',
'A',
{
"ttl": 300,
"arecords": [
{
"ipv4_address": "1.2.3.4"
},
{
"ipv4_address": "1.2.3.5"
}
]
}
)[!div class="nextstepaction"] Explore the Management APIs