如何使用python从aws s3下载文件而不使用密钥

时间:2013-05-17 09:27:49

标签: amazon-web-services amazon-s3 amazon-ec2

我需要从AWS-S3下载xml文件。

我尝试使用get_contents_to_filename(fname),它有效。

但是我需要在不指定fname的情况下下载文件,因为如果我指定fname,我下载的文件会保存到fname

我想保存文件的名称。

这是我目前的代码

k = Key(bucket)

k.set_contents_from_filename(fname)

有人可以帮我下载并获取文件而无需使用密钥。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个库,但如果k是您要下载的AWS密钥,则k.name可能是密钥名称,因此k.get_contents_to_filename(k.key)可能会执行更多操作或者更少你想要的东西。

一个问题是密钥名称可能不是合法文件名,或者它可能有文件路径分隔符。因此,如果密钥名称类似于“../../../../somepath/somename”,则文件将保存在您不期望的位置。因此,将k.name复制到一个字符串,并通过将所有危险字符更改为安全字符来清理它,或者只提取要用作文件名的键名称的一部分。