我找不到botocore.exceptions.ParamValidationError的解决方案:

时间:2018-05-08 21:00:02

标签: python amazon-s3 boto3

我很难找到以下错误的解决方案botocore.exceptions.ParamValidationError:参数Key的长度无效,值:0,有效范围:1-inf 我能够列出,将文件上传到列出我的S3桶/对象的静态html页面。但是如果没有点击ParamValidationError就无法下载或删除。

我在EC2,Python2.7 Flask,flask-bootstrap上使用文本编辑器(nano)。

我认为我在括号中缺少一个值,但到目前为止我还没有找到解决方法。任何帮助将不胜感激。

 @app.route('/download', methods=['POST'])
    def download():
    key = request.form['key']

    my_bucket = get_bucket()
    file_obj = my_bucket.Object(key).get() 

  File "/home/ec2-user/flask-s3-bucket/app.py", line 41, in download
    file_obj = my_bucket.Object(key).get()

ParamValidationError: Parameter validation failed:
Invalid length for parameter Key, value: 0, valid range: 1-inf

1 个答案:

答案 0 :(得分:0)

my_bucket.Object(key).get()

在调用Object方法时,它至少需要一个值。 在此处检查Key的值。必须以Null格式生成。尝试用硬编码值替换。