在Azure WebJobs中使用Python-Package显示Eror - ImportError:DLL加载失败

时间:2018-03-13 07:25:02

标签: python-2.7 azure azure-webjobs

我正在使用python脚本创建azure WebJobs。这需要像azure-storage-blob和pandas这样的包。为了使用这些包,我按照链接Python libraries on Web Jobhttps://lnx.azurewebsites.net/python-site-packages-in-azure-python-webjobs/上的说明进行操作。

错误

  

[03/13/2018 05:30:00> a941f1:SYS INFO]状态已更改为   正在初始化[03/13/2018 05:30:02> a941f1:SYS INFO]作业目录   检测到更改:作业文件'some \ site-packages \ six.pyc'时间戳   源和工作目录之间有所不同。 [03/13/2018 05:30:36>   a941f1:SYS INFO]用脚本主机运行脚本'run.cmd' -   'WindowsScriptHost'[03/13/2018 05:30:36> a941f1:SYS INFO]状态   改为Running [03/13/2018 05:30:36> a941f1:INFO] [03/13/2018   05:30:36> a941f1:INFO]   d:\本地的\ Temp \ \工作触发\斑点\ okznsh2a.kix \一些> d:\家\ Python27 \ python.exe   blob.py [03/13/2018 05:30:38> a941f1:ERR]回溯(最近的   最后致电):[03/13/2018 05:30:38> a941f1:ERR]文件“blob.py”,   第4行,[03/13/2018 05:30:38] a941f1:ERR]来自   azure.storage.blob import BlockBlobService,ContentSettings [03/13/2018   05:30:38> a941f1:ERR]文件   “site-packages \ azure \ storage \ blob__init __。py”,第6行,in   [03/13/2018 05:30:38>来自.appendblobservice的a941f1:ERR]   import AppendBlobService [03/13/2018 05:30:38> a941f1:ERR]文件   “site-packages \ azure \ storage \ blob \ appendblobservice.py”,第30行,in    [03/13/2018 05:30:38> a941f1:ERR]来自   ._deserialization import([03/13/2018 05:30:38> a941f1:ERR]文件   “site-packages \ azure \ storage \ blob_deserialization.py”,第39行,in    [03/13/2018 05:30:38>来自._encryption的a941f1:ERR]   import _decrypt_blob [03/13/2018 05:30:38> a941f1:ERR]文件   “site-packages \ azure \ storage \ blob_encryption.py”,第13行,in    [03/13/2018 05:30:38> a941f1:ERR]来自   cryptography.hazmat.primitives.padding导入PKCS7 [03/13/2018   05:30:38> a941f1:ERR]文件   “site-packages \ cryptography \ hazmat \ primitives \ padding.py”,第13行,in    [03/13/2018 05:30:38> a941f1:ERR]来自   cryptography.hazmat.bindings._padding import lib [03/13/2018 05:30:38

     
    

a941f1:ERR] ImportError:DLL加载失败:找不到指定的模块。 [03/13/2018 05:30:38> a941f1:SYS INFO]状态     改为失败[03/13/2018 05:30:38> a941f1:SYS ERR]作业失败     由于退出代码1

  

我查找了ImportError:Azure中的DLL加载失败,但我没有得到任何与此问题相关的令人信服的答案。其中大部分都与升级某些软件包相关。我用于上传Webjobs的文件夹具有以下内容

blob.py
run.cmd
site-packages

文件

run.cmd包含:

D:\home\Python27\python.exe blob.py

blob.py

enter code here
import sys
sys.path.append("site-packages")
from azure.storage.blob import BlockBlobService,ContentSettings
import pandas as pd
from io import StringIO
class blobfunction:
        def __init__(self,account,key):

            self.block_blob_service = BlockBlobService(account_name=account, account_key=key)

如何使用blob.py脚本运行azure Webjobs?

1 个答案:

答案 0 :(得分:0)

我在我身边测试了类似的代码,webjobs对我来说效果很好。

根据您提供的路径,我可以看到您在网络应用中安装了Python27扩展程序。

我安装了python 2.7.14*86版本并通过pip安装了azure-storage包。

enter image description here

<强> run.cmd:

D:\home\Python27\python.exe sample.py

sample.py: (这里不需要添加路径,因为依赖包安装在上面cmd中设置的默认路径中)

from azure.storage.blob import BlockBlobService,ContentSettings

block_blob_service = BlockBlobService(account_name='***', account_key='***')

generator = block_blob_service.list_blobs('jay')
for blob in generator:
    print "\t Blob name: " , blob.name

运行webjob:

enter image description here

希望它对你有所帮助。