2013-05-17 5 views
0

Мне нужно загрузить xml-файл из AWS-S3.Как скачать файл с aws s3 с помощью python без использования ключа

Я пробовал использовать 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 в строку и либо дезинформируйте ее, изменив все опасные символы на безопасные, либо просто извлеките часть имени ключа, которое вы хотите использовать для имени файла.

Смежные вопросы