Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AWS S3从Flask下载文件_Python_Amazon S3_Flask_Boto3 - Fatal编程技术网

Python AWS S3从Flask下载文件

Python AWS S3从Flask下载文件,python,amazon-s3,flask,boto3,Python,Amazon S3,Flask,Boto3,我创建了一个小应用程序,可以从AWS S3下载文件 我可以通过以下方式正确下载数据: s3_client = boto3.resource('s3') req = s3_client.meta.client.download_file(bucket, ob_key, dest) 但如果我在烧瓶路径中添加此函数,它将不再工作。我得到这个错误: ClientError:调用HeadObject操作时发生错误(400):请求错误 我不明白为什么它在路线内不起作用。有什么想法吗?与您所在的AWS地

我创建了一个小应用程序,可以从AWS S3下载文件

我可以通过以下方式正确下载数据:

 s3_client = boto3.resource('s3')
 req = s3_client.meta.client.download_file(bucket, ob_key, dest)
但如果我在烧瓶路径中添加此函数,它将不再工作。我得到这个错误:

ClientError:调用HeadObject操作时发生错误(400):请求错误


我不明白为什么它在路线内不起作用。有什么想法吗?

与您所在的AWS地区有关。将区域名称作为添加的参数

在本地计算机上使用

aws s3 cp s3://bucket-name/file.png file.png --region us-east-1

如果您能够使用此命令下载该文件,那么它也可以从您的API正常工作。

问题在于,对于flask,我需要将s3\u客户端声明为全局变量,而不是仅在函数内部


现在它工作得很好

我试图在s3_client=boto3.resource('s3',region_name='eu-central-1')中指定区域,现在得到错误403。我在上面看到了您的答案。这是一个意外的错误:P