2017-02-22 45 views
1

У меня есть следующий алгоритмКак скачать видео с S3 с помощью python?

import boto3 

AWS_ACCESS_KEY_ID = '...' 
AWS_SECRET_ACCESS_KEY = '...' 

s3_client = boto3.client('s3', 
         aws_access_key_id=AWS_ACCESS_KEY_ID, 
         aws_secret_access_key= AWS_SECRET_ACCESS_KEY) 
bucket_name = '...' 
prefix = '...' 

# List all objects within a S3 bucket path 
response = s3_client.list_objects(Bucket = bucket_name, Prefix = prefix) 
for file in response['Contents']: 
    name = file['Key'].rsplit('/', 1) 
    print name 

После выполнения я вижу:

1909132317.mp4 
1909151647.mp4 
... 

Итак, у меня есть доступ к видео. Как загрузить их в локальную папку на моем Mac? Пожалуйста, помогите мне.

+0

Посмотрите здесь: http://stackoverflow.com/questions/40975060/download-a-binary-file-using-python-requests- module –

ответ

0

Используйте метод download_file() для загрузки объектов,

response = s3_client.list_objects(Bucket=bucket_name, Prefix=prefix) 
for file in response['Contents']: 
    name = file['Key'].rsplit('/', 1) 
    s3_client.download_file(Bucket=bucket_name, Prefix=file['Key'], Filename='/localpath/'+name) 
+0

Спасибо, но у меня есть следующая ошибка: IOError: [Errno 2] Нет такого файла или каталога: '/localpath/test.afA18f1e'. Как я могу это исправить? –

+0

@petrush Замените/localpath/на ваш фактический путь загрузки в Mac, например '/ Users/username/Downloads /' – franklinsijo