使用用于 Python 的 Azure 库 (SDK)
用于 Python 的开放源代码 Azure 库简化了通过 Python 应用程序代码预配、管理和使用 Azure 资源的过程。
你真正想要了解的详细信息
Azure 库是用于从本地或云中运行的 Python 代码与 Azure 服务进行通信的方式。 (是否可以在特定服务的作用域内运行 Python 代码取决于该服务当前是否支持 Python。)
这些库支持 Python 3.8 或更高版本。 有关受支持的 Python 版本的详细信息,请参阅 Azure SDK Python 版本支持策略。 如果使用 PyPy,请确保使用的版本至少支持以前提及的 Python 版本。
用于 Python 的 Azure SDK 完全由 180 多个与特定 Azure 服务相关的 Python 库组成。 该“SDK”中没有其他工具。
在本地运行代码时,使用 Azure 进行身份验证依赖于环境变量,如 如何使用 Azure SDK for Python 向 Azure 服务验证 Python 应用。
若要使用 pip 安装库包,请使用
pip install <library_name>
,并使用包索引中的库名称。 若要在 conda 环境中安装库包,请在conda install <package_name>
anaconda.org 上使用 Microsoft 频道中的名称。有关详细信息,请参阅安装 Azure 库包。有不同的“管理”库和“客户端”库(有时称为“管理平面”库和“数据平面”库)。 每一组的库都有不同的用途,由不同类型的代码使用。 有关详细信息,请参阅本文后面的以下部分:
这些库的文档可在 Azure for Python 参考(按 Azure 服务进行组织)中找到,也可在 Python API 浏览器(按包名称进行组织)中找到。
若要亲自试用这些库,首先建议你设置本地开发环境。 然后,可以尝试以下任何独立示例(任意顺序):示例:创建资源组、示例:创建和使用Azure 存储,示例:创建和部署 Web 应用,示例:创建和查询 MySQL 数据库,示例:创建虚拟机。
有关演示视频,请参阅 介绍用于 Python 的 Azure SDK(PyCon 2021)以及 使用 Azure SDK 与 Azure 资源 交互(PyCon 2020)。
不重要但仍很有趣的详细信息
由于 Azure CLI 是使用管理库用 Python 编写的,因此可以使用 Azure CLI 命令执行的任何操作,也可以通过 Python 脚本执行任何操作。 也就是说,CLI 命令提供了许多有用的功能,如同时执行多项任务,自动处理异步操作、格式化输出(如连接字符串)等。 因此,使用 CLI(或其等效的 Azure PowerShell)自动创建和管理脚本比编写等效的 Python 代码更方便,除非你希望对过程拥有更精确的控制度。
基于基础 Azure REST API 构建的用于 Python 的 Azure 库,允许通过熟悉的 Python 范例使用这些 API。 不过,在需要时,始终可以直接通过 Python 代码使用 REST API。
可在 https://github.com/Azure/azure-sdk-for-python 上找到这些 Azure 库的源代码。 作为一个开源项目,你的贡献会受到欢迎!
尽管可将这些库与我们未针对其进测试的解释器(例如 IronPython 和 Jython)配合使用,但可能会遇到孤立的问题和不兼容问题。
库 API 参考文档的源存储库位于 https://github.com/MicrosoftDocs/azure-docs-sdk-python/ 上。
从 2019 年开始,我们更新了 Azure Python 库,以共享常见的云模式,例如身份验证协议、日志记录、跟踪、传输协议、缓冲响应和重试。 更新后的库遵循 当前的 Azure SDK 准则。
2023 年 3 月 31 日,我们停用了对不符合当前 Azure SDK 准则的 Azure SDK 库的支持。 虽然较旧的库仍可在 2023 年 3 月 31 日以后使用,但它们将不再从 Microsoft 获得官方支持和更新。 有关详细信息,请参阅通知 更新 Azure SDK 库。
为了避免缺少对 Azure SDK 的安全和性能更新,请到 2023 年 3 月 31 日升级到 最新的 Azure SDK 库 。
若要检查哪些 Python 库受到影响,请参阅适用于 Python 的 Azure SDK 弃用版本。
有关我们适用于库的准则的详细信息,请参阅 Python 指南:简介。
使用管理库创建和管理 Azure 资源
SDK 的管理 (或“管理 平面”)库,其名称全部以它开头 azure-mgmt-
,可帮助你从 Python 脚本创建、配置和管理 Azure 资源。 所有 Azure 服务都有相应的管理库。 有关详细信息,请参阅 Azure 控制平面和数据平面。
借助管理库,可以编写配置和部署脚本,以执行可通过 Azure 门户或 Azure CLI 执行的相同任务。 (如前文所述,Azure CLI 是用 Python 编写的,并使用管理库来实现其各种命令。)
以下示例说明了如何使用一些主管理库:
若要详细了解如何使用每个管理库,请参阅 README.md 或 README.rst 文件(位于 SDK GitHub 存储库的库项目文件夹中)。 也可在参考文档和 Azure 示例中找到更多代码片段。
从较旧的管理库进行迁移
如果要从旧版管理库迁移代码,请参阅以下详细信息:
- 如果使用
ServicePrincipalCredentials
类,请参阅使用令牌凭据进行身份验证。 - 异步 API 的名称已更改,如库使用模式 - 异步操作中所述。 较新的库中异步 API 的名称以
begin_
.. 在大多数情况下,API 签名保持不变。
通过客户端库连接并使用 Azure 资源
SDK 的客户端(或“数据平面”)库可帮助你编写 Python 应用程序代码,以与已预配的服务进行交互。 只有那些支持客户端 API 的服务才存在客户端库。
本文示例:使用Azure 存储提供了使用客户端库的基本插图。
不同的 Azure 服务还提供了使用这些库的示例。 有关其他链接,请参阅以下索引页:
若要详细了解如何使用每个客户端库,请参阅 README.md 或 README.rst 文件(位于 SDK 的 GitHub 存储库的库项目文件夹中)。 也可在参考文档和 Azure 示例中找到更多代码片段。
获取帮助并与 SDK 团队联系
- 访问用于 Python 的 Azure 库文档
- 在 Stack Overflow 社区中提问
- 在 GitHub 上提出针对此 SDK 的问题
- 在 Twitter 上提及@AzureSDK
- 完成有关 Azure SDK for Python 的简短调查
下一步
我们强烈建议执行本地开发环境的一次性设置,以便你可以轻松使用任何用于 Python 的 Azure 库。