我知道S3 bucket没有真正的目录,因为存储空间很小。但是可以用python/boto3编程创建目录,但我不知道如何创建。我在纪录片上看到过:
“虽然S3存储是平的:bucket包含键,但S3允许您通过在键中使用分隔符将目录树结构强加于bucket。 例如,如果将一个键命名为“a/b/f”,并使用“/”作为分隔符,那么S3将认为“a”是一个目录,“b”是“a”的子目录,“f”是“b”中的一个文件。“
我可以通过以下方法在S3存储桶中创建文件:
self.client.put_object(Bucket=bucketname,Key=filename)
但我不知道如何创建目录。
在键名末尾添加正斜杠
/
来创建目录对我不起作用:必须提供
Body
参数才能创建目录:来源:ryantuck in boto3 issue
只需要稍微修改一下密钥名。
self.client.put_object(Bucket=bucketname,Key=filename)
这个应该改成
self.client.put_object(Bucket=bucketname,Key=directoryname/filename)
就这些。
如果您阅读了API文档,您应该能够做到这一点。
老实说,它不是一个“真正的目录”,而是组织的预成型字符串结构。
相关问题 更多 >
编程相关推荐