2013-05-17 63 views
0

我需要從AWS-S3下載一個xml文件。如何使用python從aws s3下載文件而不使用密鑰

我嘗試使用get_contents_to_filename(fname),它的工作。

但我需要下載的文件沒有指定fname,因爲如果我指定fname我下載的文件被保存到fname

我想保存文件,因爲它的名字。

這是我當前的代碼

k = Key(bucket)

k.set_contents_from_filename(fname)

有人可以幫我下載並獲取該文件,而無需使用鑰匙。

在此先感謝!

回答

0

我不確定你正在使用哪個庫,但是如果k是你想下載的AWS密鑰,那麼k.name可能是關鍵的名字,所以k.get_contents_to_filename(k.key)可能會做或多或少你想要什麼。

一個問題是密鑰名稱可能不是合法的文件名,或者它可能有文件路徑分隔符。所以如果鍵名是'../../../../somepath/somename'這個文件就會被保存在你不期望的地方。因此,將k.name複製到一個字符串中,並通過將所有危險字符更改爲安全字符來對其進行清理,或者僅提取要用於文件名的鍵名部分。

相關問題