需要帮助来配置python boto3

时间:2019-07-16 15:17:40

标签: python amazon-web-services amazon-s3 boto3 botocore

我正在做什么: 香港专业教育学院阅读了很多关于boto3的文档,但是我仍然很难按照我想要的方式来实现它,因为这是我第一次使用AWS。

im试图使用boto3访问上载到S3存储桶的Microsoft excel文件... im能够使用boto3.session()给出我的“硬编码”凭据,并从那里打印该文件的名称在我的水桶中

但是,即时通讯试图弄清楚如何在该存储桶中访问该excel文件的内容...

我的最终目标/我要做什么: 该项目的最终目标是让人们将excel文件上传到带有邮政编码(在单元格中组织)的S3存储桶中,然后将该文件发送到EC2实例,以使我编写的程序从一次归档一个邮政编码并处理某些事情...

任何帮助都将不胜感激,因为这是新事物,势不可挡

这是我正在尝试的代码:

    import boto3
session = boto3.Session(
    aws_access_key_id='put key here',
    aws_secret_access_key='put key here',
)

s3 = session.resource('s3')
bucket = s3.Bucket('bucket name')

for f in bucket.objects.all():
   print(f.key)
   f.download_file('testrun')

2 个答案:

答案 0 :(得分:0)

由于您使用的是boto3资源API,而不是客户端API,因此应在Object.download_file循环内调用for method,如下所示:

for f in bucket.objects.all():
    print(f.key)
    f.download_file('the name i want it to be downloaded as')

答案 1 :(得分:0)

尝试以下操作:


for f in bucket.objects.all():
    obj = bucket.Object(f.key)
    with open(f.key, 'wb') as data:
        obj.download_fileobj(data)