小编Ari*_*Das的帖子

botocore.exceptions.NoCredentialsError:无法找到凭据,即使在手动传递凭据后

嗨,我是创建 Flask 应用程序的新手,我创建了一个小 GUI 来将文件上传到 S3 存储桶 这是处理相同内容的代码片段

s3 = boto3.client('s3', region_name="eu-west-1", 
    endpoint_url=S3_LOCATION, aws_access_key_id=S3_KEY, aws_secret_access_key=S3_SECRET)

myclient = boto3.resource('s3')
file = request.files['file[]']
filename=file.filename
data_files = request.files.getlist('file[]')
for data_file in data_files:
    file_contents = data_file.read()
    ts = time.gmtime()
    k=time.strftime("%Y-%m-%dT%H:%M:%S", ts)
    name=filename[0:-4]
    newfilename=(name+k+'.txt')
    myclient.Bucket(S3_BUCKET).put_object(Key=newfilename,Body=file_contents)
    message='File Uploaded Successfully'
    print('upload Successful')
Run Code Online (Sandbox Code Playgroud)

当我从我的本地系统测试它时,该部分工作正常,但在将其上传到 EC2 实例时,该部分

myclient.Bucket(S3_BUCKET).put_object(Key=newfilename,Body=file_contents)
Run Code Online (Sandbox Code Playgroud)

是抛出错误的地方:

botocore.exceptions.NoCredentialsError:无法找到凭据

我创建了一个文件 config.py,我在其中存储所有凭据并在运行时传递它们。不确定是什么导致 EC2 实例出错,请帮我解决

flask boto3

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

boto3 ×1

flask ×1