【发布时间】:2021-04-30 21:27:00
【问题描述】:
我创建了 Python 代码来在 Azure 存储容器中创建一系列文件夹和子文件夹(用于数据湖)。该代码有效并且基于 Microsoft Azure 上的文档。但有一件事是我在文件夹中创建了一个虚拟的“txt”文件以创建目录(我可以稍后清理)。我想知道是否有一种方法可以在不创建文件的情况下创建文件夹和子文件夹。我了解 Azure 容器存储中的文件夹不是分层的,而是元数据,我所要求的可能是不可能的?
connection_string = config['azure_storage_connectionstring']
gen2_container_name = config['gen2_container_name']
container_client = ContainerClient.from_connection_string(connection_string, gen2_container_name)
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
# blob_service_client.create_container(gen2_container_name)
def create_folder(folder, sub_folder):
blob_client = container_client.get_blob_client('{}/{}/start_here.txt'.format(folder, sub_folder))
with open ('test.txt', 'rb') as data:
blob_client.upload_blob(data)
def create_all_folders():
config = load_config()
folder_list = config['folder_list']
sub_folder_list = config['sub_folder_list']
for folder in folder_list:
for sub_folder in sub_folder_list:
try:
create_folder(folder, sub_folder)
except Exception as e:
print ('Looks like something went wrong here trying to create this folder structure {}/{}. Maybe the structure already exists?'.format(folder, sub_folder))
【问题讨论】:
-
对于 storage sdk 是不可能的,你可以使用 datalake sdk。
标签: python azure azure-storage azure-blob-storage