我想使用Azure應用服務上的Python WebJob讀取/寫入blob存儲。我的應用服務的requirements.txt文件包含azure存儲包名稱:在App Service部署期間通過pip成功安裝包。然而,當我包括我的WebJob的run.py文件中的以下內容:無法通過Python中的azure存儲包訪問blob存儲WebJob
import sys
sys.path.append('D:\\home\\site\\wwwroot\\env\\Lib\\site-packages')
from azure.storage.blob import BlockBlobService
......我會在運行時出現以下錯誤信息:
[09/27/2016 17:51:09 > 775106: SYS INFO] Status changed to Initializing
[09/27/2016 17:51:09 > 775106: SYS INFO] Run script 'run.py' with script host - 'PythonScriptHost'
[09/27/2016 17:51:09 > 775106: SYS INFO] Status changed to Running
[09/27/2016 17:51:10 > 775106: ERR ] Traceback (most recent call last):
[09/27/2016 17:51:10 > 775106: ERR ] File "run.py", line 11, in <module>
[09/27/2016 17:51:10 > 775106: ERR ] from azure.storage.blob import BlockBlobService
[09/27/2016 17:51:10 > 775106: ERR ] File "D:\home\site\wwwroot\env\Lib\site-packages\azure\storage\blob\__init__.py", line 15, in <module>
[09/27/2016 17:51:10 > 775106: ERR ] from .models import (
[09/27/2016 17:51:10 > 775106: ERR ] File "D:\home\site\wwwroot\env\Lib\site-packages\azure\storage\blob\models.py", line 15, in <module>
[09/27/2016 17:51:10 > 775106: ERR ] from .._common_conversion import _to_str
[09/27/2016 17:51:10 > 775106: ERR ] File "D:\home\site\wwwroot\env\Lib\site-packages\azure\storage\_common_conversion.py", line 22, in <module>
[09/27/2016 17:51:10 > 775106: ERR ] from .models import (
[09/27/2016 17:51:10 > 775106: ERR ] File "D:\home\site\wwwroot\env\Lib\site-packages\azure\storage\models.py", line 23, in <module>
[09/27/2016 17:51:10 > 775106: ERR ] from ._error import (
[09/27/2016 17:51:10 > 775106: ERR ] File "D:\home\site\wwwroot\env\Lib\site-packages\azure\storage\_error.py", line 15, in <module>
[09/27/2016 17:51:10 > 775106: ERR ] from ._common_conversion import _to_str
[09/27/2016 17:51:10 > 775106: ERR ] ImportError: cannot import name '_to_str'
[09/27/2016 17:51:10 > 775106: SYS INFO] Status changed to Failed
[09/27/2016 17:51:10 > 775106: SYS ERR ] Job failed due to exit code 1
FWIW,其他幾個包是正確加載使用同樣的方法。任何人都可以提出一種方法來獲得在Azure WebJobs中使用Azure存儲包的工作嗎?
如果你不能導入BlockBlobService,你可以試試這個答案http://stackoverflow.com/questions/35558463/how-to-import-azure-blobservice-in-python。 – johnny
嗨,約翰尼,我在過去也遇到過這個問題,但似乎並不是這裏發生的事情。 – mewahl