如何访问S3存储桶中的文件夹对象。如何使用python boto3访问S3存储桶中的文件夹。 代码适用于S3存储桶中的文件夹,但适用于S3存储桶中的文件夹
答案 0 :(得分:1)
小原理信息:S3没有文件夹,它是对象存储。在UI中看到的类似于文件夹的结构是为了方便。
有关上传,请参见here
答案 1 :(得分:0)
如果我要上传以下目录:
folder_root
├── a
│ └── f
├── b
│ ├── d
│ └── e
└── c
└── x
您将要上载名为a/f
,b/d
,b/e
和c/x
的单个文件。如其他答案所述,S3中没有目录的概念,它是“平面对象存储库”。如果要创建目录的外观,文件的名称(或键)必须是您要创建的目录结构。
答案 2 :(得分:0)
如果我正确理解您的话。.我的python3脚本中出现了这个问题。基本上,您需要将s3存储桶和文件名传递给boto3函数。使此文件名包含文件夹,并用正斜杠将它们分开。而不是仅传递文件名并尝试将文件夹作为单独的参数传递。
因此,如果您具有MyS3Bucket,并且想要将File.txt上传到MyS3Bucket中的MyFolder,则将file_name=“MyFolder”+”/“+”file.txt”
作为参数传递给上载函数。
让我知道您是否需要代码段。
即使S3存储桶中没有该文件夹,boto3也会为您动态创建该文件夹。这很酷,因为您可以基于文件夹而不是一次整个存储桶来授予s3中的访问权限。
祝你好运!