具有非字符串值的AWS S3 x-amz-meta错误:InvalidHeader和InvalidParameterType

时间:2017-07-11 21:29:14

标签: node.js amazon-s3 aws-sdk

尝试将node.js AWS sdk s3Client.upload与元数据的可选参数一起使用时:

const AWS = require('aws-sdk')
const s3Client = new AWS.S3({
  params: {
    Key: key,
    secret: secret
  }
})

let uploadParams = {
  Bucket: '',
  Key: '',
  Body: '',
  ACL: 'public-read',
  Metadata: {
    dummy_value: null
  }

s3Client.upload(uploadParams, function(err, data) {
  console.log('Upload: ', data)
}

抛出错误:

  

InvalidHeader:标头x-amz-meta-dummy_value包含无效值

1 个答案:

答案 0 :(得分:1)

不幸的是,AWS S3 SDK documentation未涵盖x-amz-meta-前置元数据属性的输入值的有效值。

dummy_value 必须是字符串

引发错误:

  • undefined // InvalidHeader:标头x-amz-meta-dummy_value包含 无效值
  • null // InvalidHeader:Header x-amz-meta-dummy_value 包含无效值
  • 12 // InvalidParameterType:预期 params.Metadata [' dummy_value']为字符串