python - “BlobServiceClient”对象没有属性“ls_files”
问题描述
我正在尝试使用此 github 中的 BlobServiceClient 库中的函数 ls_files ( https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/storage/azure-storage-blob/samples/ blob_samples_directory_interface.py)。但是,当我运行代码时,出现错误:
“BlobServiceClient”对象没有属性“ls_files”
这是我的代码:
import os, uuid, sys
from azure.storage.blob import BlobClient, BlobServiceClient, ContainerClient, PublicAccess, __version__
from azure.storage.blob.blockblobservice import BlockBlobService
import re
account_name = ACCOUNT_NAME
account_key = ACCOUNT_KEY
connect_str = CONNECTION_STRING
account_url = ACCOUNT_URL
container_name = CONTAINER_NAME
file_path = FILE_PATH
block_blob_service = BlockBlobService(account_name = account_name, account_key = account_key)
blob_service_client = BlobServiceClient(account_url = account_url, connect_str = connect_str, container_name = container_name)
def list_filenames_in_blob(blob):
file_names = blob_service_client.ls_files(file_path)
return file_names
def run_action():
try:
for blob in generator:
list_filenames_in_blob(blob)
except Exception as e:
print(e)
# Main method.
if __name__ == '__main__':
run_action()
你能告诉我我做错了什么吗?非常感谢您提前。
解决方案
python包中的类BlobServiceClient
没有方法ls_files
。更多详情,请参阅此处。我们需要自己实施。在文档中,您指的是,用户也这样做。
此外,根据我的理解,我们希望在一个存储容器中列出 blob 的名称。如果有,请参考以下代码
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
conn_str = ''
blob_service_client = BlobServiceClient.from_connection_string(conn_str)
blob_list = blob_service_client.get_container_client('<container name>').list_blobs()
for blob in blob_list:
print(blob.name)
推荐阅读
- c++ - 无法在 geany 上运行代码。无法执行构建命令
- java - 如何为子类创建构造函数
- kotlin - 使用 viewPager 在片段中调用函数
- geotools - 使用平滑()时的 Geotools MismatchedDimensionException
- javascript - 快递和本地护照中的 req.isAuthenticated() 返回 false
- reactjs - 为什么我的本地字体没有与 Emotion 全局样式一起应用?
- r - 通过带有嵌入式传单 svg 等的 RSelenium 提取基础数据
- python - 字典列表 - 将键值从一对多更改为多对一
- python - 如何使用多索引获取数据帧值,其中某些值不在多索引中?
- php - 我想将治疗价格移动到右边而不是左边,但我不知道如何