我正在使用python脚本创建azure WebJobs。这需要像azure-storage-blob和pandas这样的包。为了使用这些包,我按照链接Python libraries on Web Job和https://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
D:\home\Python27\python.exe 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?
答案 0 :(得分:0)
我在我身边测试了类似的代码,webjobs对我来说效果很好。
根据您提供的路径,我可以看到您在网络应用中安装了Python27
扩展程序。
我安装了python 2.7.14*86
版本并通过pip安装了azure-storage
包。
<强> 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:
希望它对你有所帮助。