使用 python 将 azure Runbook 与 azure 中的文件共享连接起来
Posted
技术标签:
【中文标题】使用 python 将 azure Runbook 与 azure 中的文件共享连接起来【英文标题】:Connect azure runbook with file share in azure with python 【发布时间】:2021-12-01 20:08:48 【问题描述】:我有 azure 自动化 Runbook 脚本,我想连接到 azure 中的文件共享。我无法通过运行手册访问文件共享,我尝试了下面的代码,但它不起作用。
conn_str = ''
blob_service_client = BlobServiceClient.from_connection_string(conn_str)
blob_list = blob_service_client.get_container_client('').list_blobs()
for blob in blob_list:
print(blob.name)
如何使用 python 中的运行手册访问文件共享中的文件?
【问题讨论】:
【参考方案1】:借助此链接,我设法实现了我想要的:https://docs.microsoft.com/en-us/azure/storage/files/storage-python-how-to-use-file-storage?tabs=python#enumerate-files-and-directories-in-an-azure-file-share
我使用了这个示例代码:
file_service = FileService(account_name='', account_key='')
generator = file_service.list_directories_and_files('')
for file_or_dir in generator:
print(file_or_dir.name)
【讨论】:
【参考方案2】:如果您想在 Azure Runbook 中使用 python3 管理 Azure blob,我们需要导入包 azure.storage.blob
及其依赖项。
第 1 步: a) 下载此软件包:
pip3 download -d <output dir name> azure-storage-blob==12.8.0
b) 导入这些包
第 2 步:
Runbook - 连接代码
from azure.storage.blob import BlobServiceClient
connect_str = ''
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
container_client=blob_service_client.get_container_client('test')
blobs = container_client.list_blobs( )
for blob in blobs:
print(blob.name)
测试和输出:
【讨论】:
当你说: .get_container_client('test') 是 'test' 容器的名称对吗? Hi @Sofia,container_client=blob_service_client.get_container_client('test')
Here get_container_client(container)
- 获取客户端以与指定容器交互。这里 (container
) 是一个参数,可以是 容器的名称,也可以是 instance ContainerProperties。欲了解更多信息,请参阅here
但是我们可以考虑将 azure 文件共享一个容器吗?
@Sofia,不!容器就像文件夹/目录,文件共享就像本地磁盘或公共共享路径
那么,在这种情况下,由于我正在使用文件共享,所以这段代码不能正常工作?以上是关于使用 python 将 azure Runbook 与 azure 中的文件共享连接起来的主要内容,如果未能解决你的问题,请参考以下文章
在 Azure 自动化 Runbook 中安装和导入 Python 包
我是否必须在powershell Runbook(azure)中导入模块?
使用 Webhook“参数列表中缺少参数”触发 Azure 自动化 Runbook 失败