Azure SDK for Python
本仓库用于 Azure SDK for Python 的积极开发。对于 SDK 的使用者,我们建议访问我们的公共开发者文档或我们的版本化开发者文档。
入门指南
为了方便起见,每个服务都有一组独立的库,您可以选择使用这些库,而不是使用一个庞大的 Azure 包。若要开始使用特定库,请参阅位于该库项目文件夹中的 README.md(或 README.rst)文件。
您可以在 /sdk 目录中找到服务库。
先决条件
客户端库支持多个版本的 Python。有关更多详细信息,请参阅 Azure SDK for Python 版本支持策略。
可用软件包
每个服务可能提供来自以下类别的多个库:
客户端:新版本
我们宣布为 GA 的一批新软件包,以及目前正在以 preview 发布的若干软件包。这些库允许您使用和消费现有资源并与之交互,例如:上传 blob。这些库共享若干核心功能,例如:重试、日志记录、传输协议、身份验证协议等,这些功能可以在 azure-core 库中找到。您可以通过阅读它们遵循的指南此处来了解有关这些库的更多信息。
您可以在我们的页面上找到所有新软件包的最新列表
注意:如果您需要确保代码可用于生产环境,请使用其中一个稳定的、非预览版的库。
客户端:早期版本
这些软件包的最新稳定版本已提供用于 Azure 使用,并已达到生产就绪状态。这些库为您提供与预览版相似的功能,因为它们允许您使用和消费现有资源并与之交互,例如:上传一个 blob。它们可能未实现指南或具有与 11 月发布版本相同的功能集。然而,它们确实提供了更广泛的服务覆盖范围。
管理:新发布
一套遵循 Azure SDK Python 设计指南 的新管理库现已可用。这些新库提供了一系列在所有 Azure SDK 中共享的核心功能,包括直观的 Azure Identity 库、具有自定义策略的 HTTP 管道、错误处理、分布式跟踪等。 这些新库的文档和代码示例可在此处找到。此外,展示如何从旧版本库过渡的迁移指南位于此处。
您可以在我们的页面上找到所有新软件包的最新列表
注意:如果您需要确保代码可用于生产环境,请使用其中一个稳定的、非预览版的库。此外,如果在升级某些包后,您在使用管理库时遇到身份验证问题,可能是您在未更改身份验证代码的情况下升级到了 SDK 的新版本,请参阅上述迁移指南以获取正确的说明。
管理:旧版本
如需获取可用于配置和管理 Azure 资源的管理库的完整列表,请点击此处。它们可能不具备与新版本相同的功能集,但提供了更广泛的服务覆盖范围。
管理库可以通过以 azure-mgmt- 开头的命名空间来识别,例如 azure-mgmt-compute
需要帮助?
- 如需详细文档,请访问我们的 Azure SDK for Python 文档
- 通过 GitHub Issues 提交问题
- 在 StackOverflow 上使用
azure和python标签查看先前的问题或提出新问题。
数据收集
该软件可能会收集有关您以及您对软件使用情况的信息,并将其发送给 Microsoft。Microsoft 可能会使用此信息来提供服务并改进我们的产品和服务。您可以按照以下说明关闭遥测。您可以在帮助文档和 Microsoft 的隐私声明中了解有关数据收集和使用的更多信息。有关 Azure SDK 收集的数据的更多信息,请访问遥测指南页面。
遥测配置
遥测收集默认开启。
若要退出,您可以在客户端构建时禁用遥测。定义一个 NoUserAgentPolicy 类,它是 UserAgentPolicy 的子类,并包含一个什么都不做的 on_request 方法。然后在创建客户端时,将此类的实例作为 kwargs user_agent_policy=NoUserAgentPolicy() 传入。这将禁用客户端中所有方法的遥测。请为每个新客户端执行此操作。
以下示例使用了 azure-storage-blob 包。在您的代码中,您可以将 azure-storage-blob 替换为您正在使用的包。
import os
from azure.identity import ManagedIdentityCredential
from azure.storage.blob import BlobServiceClient
from azure.core.pipeline.policies import UserAgentPolicy
# Create your credential you want to use
mi_credential = ManagedIdentityCredential()
account_url = "https://<storageaccountname>.blob.core.windows.net"
# Set up user-agent override
class NoUserAgentPolicy(UserAgentPolicy):
def on_request(self, request):
pass
# Create the BlobServiceClient object
blob_service_client = BlobServiceClient(account_url, credential=mi_credential, user_agent_policy=NoUserAgentPolicy())
container_client = blob_service_client.get_container_client(container=<container_name>)
# TODO: do something with the container client like download blob to a file
报告安全问题和安全漏洞
安全问题与漏洞应通过电子邮件私下报告给 Microsoft Security Response Center (MSRC) secure@microsoft.com。您应在 24 小时内收到回复。如果由于某种原因未收到回复,请通过电子邮件跟进,以确保我们已收到您的原始消息。更多信息,包括 MSRC PGP 密钥,可在 Security TechCenter 中找到。
贡献
有关向此仓库贡献的详细信息,请参阅 贡献指南。
本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议 (CLA),声明您有权且实际上确实授予我们使用您贡献的权利。详情请访问 https://cla.microsoft.com。
当您提交拉取请求时,CLA-bot 将自动确定您是否需要提供 CLA,并相应地标记 PR(例如,标签、评论)。只需按照机器人提供的说明操作即可。您只需在所有使用我们 CLA 的仓库中执行一次此操作。
本项目已采纳 Microsoft 开源行为准则。 更多信息请参阅 行为准则常见问题解答 或联系 opencode@microsoft.com 提出任何额外的问题或意见。