【发布时间】:2021-10-26 19:12:34
【问题描述】:
我的用例要求我不断地将传入消息写入存储在 Azure Data Lake Gen2 存储帐户中的文件中。我可以通过触发一个函数来创建文件,该函数使用 python azure-storage-file-datalake SDK 与存储帐户进行交互。
问题是,默认情况下,使用 DataLakeFileClient 类的 create_file() 方法创建的文件是块 Blob(并且没有任何参数可以更改创建的 Blob 的类型),这意味着我无法附加数据新消息到达后发送给他们。
我曾尝试使用 python azure-storage-blob SDK,但是它无法使用路径来定位我的 Data Lake 容器中的文件。
这将是我如何创建文件的一个示例,尽管这些文件是以块 Blob 的形式出现的:
if int(day) in days:
day_directory_client.create_directory()
file_client = day_directory_client.create_file(f'{json_name}')
file_client.append_data(data=f'{str(message_body)}\n', offset=0,
length=len(str(message_body)))
file_client.flush_data(len(str(message_body)))
write_to_cache(year, month, day, json_path)
感谢我能得到的任何帮助,谢谢!
【问题讨论】:
-
您的问题解决了吗?我正在努力解决 java 中的类似问题...
标签: python azure azure-blob-storage azure-data-lake-gen2