Azure SDK's management vs client libraries

This post explains difference between Azure Python SDK's management("management plane") and client libraries( "data plane").

Python SDK's management libraries

Python SDK's management libraries helps in creating, provisioning and managing Azure resources from Python scripts. Name of all management libraries starts with azure-mgmt-. With the management libraries, we can write configuration and deployment scripts to perform the same tasks that we can do with the Azure portal or the Azure CLI.

The following are the examples of management libraries.

  • azure-mgmt-keyvault
  • azure-mgmt-network
  • azure-mgmt-resource
  • azure-mgmt-policyinsights

Below are some of the example tasks that can be done by management libraries.

  • Provisioning of resource group
  • Provisioning virtual machine
  • Provisioning of Azure Storage

Python SDK's client libraries

Python SDK's client libraries helps in writing Python scripts to interact with already-provisioned services. Client libraries exist only for those services that support a client API. The following are the examples of management libraries.
  • azure-keyvault-keys
  • azure-storage-blob
  • azure-storage-file-share
  • azure-keyvault-certificates

Below are some of the example tasks that can be done by management libraries.

  • Uploading a blob
  • Downloading a blob
  • Enumerating blobs
  • Set a Key Vault secret
  • Retrieve a Key Vault secret
  • Delete a Key Vault secret


Category: Azure