Как загрузить все файлы из корзины s3 на локальный сервер Linux при передаче значения корзины и локальной папки во время выполнения с помощью python - PullRequest
0 голосов
/ 03 июня 2019

Я делаю скрипт для загрузки файлов из S3 Bucket в локальную папку Linux. Чтобы достичь этого, я должен использовать динамические значения для контейнеров и папок, в которые мы хотим загружать вещи.

Я знаю, как поступить с

aws s3 cp s3://bucket /linux/local/folder --recursive --p alusta

Но как принять значение корзины во время выполнения

dwn_cmd = "aws s3 cp s3://bucket/name/" + str(year_name) + '/' + str(month_name)

folder_path = "/local/linux/folder/" + folder_name

#subprocess.call(['aws','s3','cp',dwn_cmd,folder_path,'--recursive','--p', 'alusta'])

Это показывает ошибку, что для подпроцесса требуется путь к корзине s3 и путь к локальной папке. Я думаю, что это не идет по пути. Если я жесткий код пути, он работает, но не с этим. Как я мог достичь своего результата

1 Ответ

0 голосов
/ 05 июня 2019

С

dwn_cmd = "aws s3 cp s3://bucket/name/" + "2019" + '/' + "June"
folder_path = "/local/linux/folder/" + "test"

Вы будете звонить

subprocess.call(['aws','s3','cp',
 "aws s3 cp s3://bucket/name/2019/June",
 "/local/linux/folder/test",
 '--recursive', '--p', 'alusta']);

Удалить параметры aws s3 cp из dwn_command:

dwn_cmd = "s3://bucket/name/" + "2019" + '/' + "June"

Примечание: неиспользовать subprocess.call ([dwn_cmd, folder_path, '- recursive', '- p', 'alusta']) # неправильно Пробел между aws и s3 будет считаться частью имени команды, поэтомуон будет искать команду в подкаталоге каталога с 3 пробелами aws s3 cp s3:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...