gpt4 book ai didi

python-3.x - 如何让 Azure 文件共享自动生成不存在的目录?

转载 作者:行者123 更新时间:2023-12-03 03:07:35 25 4
gpt4 key购买 nike

使用 AWS S3,我可以将文件 test.png 上传到我喜欢的任何目录,无论它是否存在......因为 S3 会自动生成完整路径和目录。

例如,如果我上传到S3时,使用路径this/is/a/new/home/for/test.png,S3将创建目录thisisa、...并将 test.png 上传到正确的文件夹。

我正在迁移到 Azure,并且希望使用他们的文件存储。但是,似乎我必须手动创建每个目录...我显然可以通过检查文件夹是否存在来以编程方式完成它,如果不存在,则创建它...但是哇...为什么我要这么努力?

我确实尝试过:

file_service.create_file_from_path('testshare', 'some/long/path', 'test.png', 'path/to/local/location/of/test.png')

但是,这会提示该目录不存在...并且只有在我手动创建目录或将 some/long/path 替换为 None 时才有效.

是否可以只向 Azure 提供一个路径并让它创建目录?

最佳答案

Azure 文件非常模仿操作系统文件系统,因此为了将文件推送到目录中,该目录必须存在。这意味着如果您需要在嵌套目录结构中创建文件,则该目录结构必须存在。 Azure 文件服务不会为你创建该结构。

在您的场景中,更好的选择是使用 Azure Blob 存储。它非常模仿您上面提到的 Amazon S3 行为。您可以创建一个 Container(类似于 S3 中的 Bucket),然后上传一个名称类似于 this/is/a/new/home/for/test.png 的文件。

但是请注意,这些文件夹是 Blob 存储(与 S3 相同)中的虚拟文件夹,而不是真实的文件夹。本质上,用于保存 blob(类似于 S3 中的对象)的名称是 this/is/a/new/home/for/test.png

关于python-3.x - 如何让 Azure 文件共享自动生成不存在的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42999238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com