import os
import boto3
import json
from datetime import datetime,timedelta
s3 = boto3.client('s3', aws_access_key_id="<access_key>",
aws_secret_access_key="<secret_key>")
##my_bucket = s3.Bucket('grn-amazon')
filename_withdate=(datetime.now()-timedelta(days=6)).strftime ("%d%b%Y")
filename_withdate = filename_withdate+'_Consolidated.csv'
Source_filename = filename_withdate
dest_filename = filename_withdate
try:
## s3.download_file('grn-amazon',complt_filename,'01FEB2020_Consolidated.csv')
s3.download_file('grn-amazon',Source_filename,dest_filename)
print("Download Completed")
except botocore.exception.ClientErrors as e:
if e.response['Error']['Code'] == '404':
print('The Object does not exists!!')
else:
raise
运行上述代码后出现以下错误。请提供帮助。在S3属性中将源文件和目标文件名作为参数传递...
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近): 文件“ C:\ Cloudtail \ CT \ SQL Scripts \ python \ GRN_S3_dwnld.py”,第17行,在 除了botocore.exception.ClientErrors如e: NameError:名称“ botocore”未定义
答案 0 :(得分:1)
找出一个错误,不是boto3错误。大写字母的文件名如01FEB2020,我的源文件的文件名如01Feb2020。
使用 upper() 功能
更改截止日期3
感谢您的宝贵时间和宝贵的反馈。
答案 1 :(得分:0)
将此添加到Python程序的顶部:
from botocore.exceptions import ClientError
更改
except botocore.exception.ClientErrors as e:
进入:
except botocore.exception.ClientError as e: