在 Azure 自动化中管理 Python 2 包
本文介绍如何在 Azure 沙盒环境和混合 Runbook 辅助角色上运行的 Azure 自动化中导入、管理和使用 Python 2 包。 为了帮助简化 runbook,可以使用 Python 包导入所需的模块。
有关如何管理 Python 3 包的信息,请参阅管理 Python 3 包。
导入程序包
在你的自动化帐户中,在共享资源下选择 Python 程序包。 选择 + 添加 Python 程序包。
在“添加 Python 包”页中,选择要上传的本地包。 包可以是 .whl 文件。
输入名称并选择“运行时版本”为“2.x.x”
选择“导入” 。
导入包后,它会在自动化帐户中的“Python 包”页上列出。 若要删除某个包,请先选择该包,然后选择删除。
导入具有依赖项的包
Azure 自动化在导入过程中不会解析 Python 程序包的依赖项。 可以通过两种方式导入包及其所有依赖项。 只需使用以下步骤之一,即可将包导入到 Azure 自动化帐户中。
手动下载
在安装有 Python2.7 和 pip 的 Windows 64 位计算机上,运行以下命令以下载包及其所有依赖项:
C:\Python27\Scripts\pip2.7.exe download -d <output dir> <package name>
下载程序包后,可以将其导入到你的自动化帐户中。
Runbook
若要获取 runbook,请按将 Python 2 包从 pypi 导入到 Azure 自动化帐户中的要求操作,将其从 Azure 自动化 GitHub 组织导入到你的自动化帐户。 请确保“运行设置”设置为 Azure 并启动具有参数的 runbook。 确保为自动化帐户启用了托管标识,并使托管标识具有“自动化参与者”访问权限,以便成功导入包。 对于每个参数,请确保按照以下列表和图片中所示,通过开关进行启动:
- -s <subscriptionId>
- -g <resourceGroup>
- -a <automationAccount>
- -m <modulePackage>
runbook 允许你指定下载的包。 例如,使用 Azure
参数将下载所有 Azure 模块和所有依赖项(大约 105 个)。 完成 runbook 后,可以在自动化帐户中的“共享资源”下查看“Python 包”,以验证是否已正确导入包 。
在 runbook 中使用包
导入包后,可以在 runbook 中使用。 添加以下代码以列出 Azure 订阅中的所有资源组:
#!/usr/bin/env python
import os
import requests
# printing environment variables
endPoint = os.getenv('IDENTITY_ENDPOINT') + "?resource=https://management.chinacloudapi.cn/"
identityHeader = os.getenv('IDENTITY_HEADER')
payload = {}
headers = {
'X-IDENTITY-HEADER': identityHeader,
'Metadata': 'True'
}
response = requests.request("GET", endPoint, headers=headers, data=payload)
print response.text
脱机开发并测试 runbook
要脱机开发并测试你的 Python 2 runbook,可以使用 GitHub 上的 Azure Automation Python 模拟资产。 此模块使你能够引用凭据、变量、连接和证书等共享资源。
后续步骤
要准备 Python runbook,请参阅创建 Python runbook。