首页 > 解决方案 > 从 SQL Server 代理运行代码时出现问题 - azure.storage.blob - 找不到模块 azure

问题描述

我遇到了一些连接到 azure 存储容器的 python 代码的问题。

代码:

from azure.storage.blob import BlockBlobService
import logging
import os, sys

block_blob_service = BlockBlobService(account_name = accountName, account_key = accountKey, connection_string=connectionString)

block_blob_service.create_blob_from_path(containerName,blob_name=blobName,file_path=fileNameToUpload)

好的,所以这段代码在使用命令提示符执行时有效。

当它使用 SQL 代理作业执行时:

第 1 行,从 azure.storage.blob 导入 BlockBlobService ModuleNotFoundError:没有名为“azure”的模块。处理退出代码 1. 步骤失败。

点子列表:

azure-common         1.1.27
azure-core           1.19.0
azure-storage-blob   1.5.0
azure-storage-common 1.4.2

使用 python 3.7.4

我用于运行 SQL 代理作业的凭据映射到我的用户 ID,该用户 ID 在服务器上具有管理员权限。

我使用快速入门让我开始。

有人可以帮忙吗?

标签: pythonazuresql-agent-job

解决方案


您引用的是azure.storage.versionv1.5.0 的旧版本,在最新版本 v12.xx 中,您需要BlobServiceClient改用。

######################################
pip install azure-storage-blob==12.9.0
######################################

blob_service_client = BlobServiceClient(account_url=url, credential=self._account_key)

您提到的链接已经指向最新版本


推荐阅读