如何使用python boto3将文件上传到AWS S3存储桶中的文件夹

时间:2018-10-14 17:03:50

标签: python amazon-web-services amazon-s3 boto3

如何访问S3存储桶中的文件夹对象。如何使用python boto3访问S3存储桶中的文件夹。 代码适用于S3存储桶中的文件夹,但适用于S3存储桶中的文件夹

3 个答案:

答案 0 :(得分:1)

小原理信息:S3没有文件夹,它是对象存储。在UI中看到的类似于文件夹的结构是为了方便。

有关上传,请参见here

答案 1 :(得分:0)

如果我要上传以下目录:

folder_root
├── a
│   └── f
├── b
│   ├── d
│   └── e
└── c
    └── x

您将要上载名为a/fb/db/ec/x的单个文件。如其他答案所述,S3中没有目录的概念,它是“平面对象存储库”。如果要创建目录的外观,文件的名称(或)必须是您要创建的目录结构。

答案 2 :(得分:0)

如果我正确理解您的话。.我的python3脚本中出现了这个问题。基本上,您需要将s3存储桶和文件名传递给boto3函数。使此文件名包含文件夹,并用正斜杠将它们分开。而不是仅传递文件名并尝试将文件夹作为单独的参数传递。

因此,如果您具有MyS3Bucket,并且想要将File.txt上传到MyS3Bucket中的MyFolder,则将file_name=“MyFolder”+”/“+”file.txt”作为参数传递给上载函数。 让我知道您是否需要代码段。

即使S3存储桶中没有该文件夹,boto3也会为您动态创建该文件夹。这很酷,因为您可以基于文件夹而不是一次整个存储桶来授予s3中的访问权限。

祝你好运!