【发布时间】:2021-09-12 05:17:56
【问题描述】:
我有存储在 AWS S3 上的数据集的凭据(“aws 访问密钥”、“aws 密钥”和路径)。我可以使用 CyberDuck 或 FileZilla Pro 访问数据。
为此,我想自动化数据获取阶段并使用 boto2 附带的 Python/Anaconda。
我没有“存储桶”名称,只有 /folder1/folder2/folder3 形式的路径,而且我找不到使用 API 访问没有“存储桶名称”的数据的方法。
有没有办法以编程方式访问 S3 而没有“存储桶名称”,即使用路径代替?
谢谢
【问题讨论】:
-
在不知道存储桶名称的情况下无法访问对象。尝试挖掘 CyberDuck 或 FileZilla Pro 以查找存储桶名称。
-
请强烈考虑使用 boto3,因为 boto 没有维护,并且在三年前发布了最新版本。
-
如果你的路径看起来像
s3://foo/bar,那么第一个参数其实就是bucket名称:s3://bucket-name/folder/object -
我的意思是,如果连接字符串以
s3://开头,那么下一个元素就是桶名。 -
我建议桶名是你给定路径的第一个路径:
s3.amazon.com/bucket-name/path/object
标签: python amazon-s3 path boto bucket