Python 中的 Azure WebJob:如何访问 azure python 包?

Azure WebJob in Python: How to access azure python package?

我有一个用 Python 编写的简单 Azure WebJob,它利用了 azure python 包(位于我的解决方案中的一个 venv 中)。该作业在我的本地计算机上按预期执行,但是当我将其部署到 Azure WebJob 实例时,出现以下错误:

ImportError: 没有名为 azure.storage.table

的模块

实际.py如下:

from azure.storage.table import TableService

# get table service
table_service = TableService(account_name='myacct', account_key='mykey')

# delete table
table_service.delete_table('MyTable')

如何从 WebJob 实例访问 azure 包?

我目前找到的唯一解决方案是自己推送包。这可能对您有帮助:

http://nicholasjackson.github.io/azure/python/python-packages-and-azure-webjobs/

默认情况下,如果您在 Azure Web 应用程序的 python 应用程序中利用 venv,则在将 Web 应用程序部署到 Azure 后,venv 文件夹将位于 D:\home\site\wwwroot\env\。 python 图书馆也将位于 D:\home\site\wwwroot\env\Lib\site-packages。您可以在您的网络应用程序中安装 python 库,并在您的 python 网络作业脚本中利用此绝对地址,以在您的 python 网络应用程序中加载这些库。

请在 WebJobs 中尝试以下测试脚本:

import sys
sitepackage = "D:\home\site\wwwroot\env\Lib\site-packages"
sys.path.append(sitepackage)

try:
    from azure.storage.table import TableService
    print "successfully load lib"
except ImportError, e:
    print "cannot load lib"