javascript - 使用 x-amz-tagging 请求 header 指定标签

标签 javascript node.js amazon-web-services amazon-s3 http-post

我有一个用于将文件上传到 aws s3 的 Node 程序,我需要在请求 header 中指定 x-amz-tagging。我尝试了一些方法,但它不起作用!

function buildRequestHeader() {
  return {
    'Content-Length': fileBuffer.size,
    'Content-Type': mimeType,
    'x-amz-acl': 'public-read',
    'x-amz-tagging' :{"tag1":'abcd',"tag2":'efgh'}
  }
}

我从 aws 文档中看到了一些东西,

PUT object-key?tagging HTTP/1.1
Host: examplebucket.s3.amazonaws.com
Content-Length: length
Content-MD5: pUNXr/BjKK5G2UKExample==
x-amz-date: 20160923T001956Z
Authorization: authorization string
<Tagging>
   <TagSet>
      <Tag>
         <Key>tag1</Key>
         <Value>val1</Value>
      </Tag>
      <Tag>
         <Key>tag2</Key>
         <Value>val2</Value>
      </Tag>
   </TagSet>
</Tagging>

您能解释一下它是如何工作的吗?

最佳答案

您显示的代码片段来自两种不同的标记方法,第一种在 object creation 期间, 第二个是 adding tags to an existing object .

x-amz-tagging header 是您在对象创建期间使用的 header ,但它使用 different syntax比你的例子。试试这个:

function buildRequestHeader() {
  return {
    'Content-Length': fileBuffer.size,
    'Content-Type': mimeType,
    'x-amz-acl': 'public-read',
    'x-amz-tagging': 'tag1=abcd&tag2=efgh'
  }
}

关于javascript - 使用 x-amz-tagging 请求 header 指定标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42968480/

相关文章:

javascript - Node.js MySQL : Select-statement depending on query string?

java - 尝试将 JpaRepository 注入(inject) AWS Lambda 时没有合格的 bean

javascript - Node js - 在解决所有 promise 后发送响应

javascript - 如何使用Mongoose查询导入的json

javascript - 仅在 Firebase 中显示带有 RoomID 的消息

node.js - MongoDB GET 请求不返回任何内容

node.js - Raspberry pi在启动时加载应用程序/Raspberry pi cargar应用程序已启动

amazon-web-services - AWS - 是否可以在与主帐户不同的帐户中创建 KMS 副本 key

amazon-web-services - AWS CLI 获取 VPC 的私有(private)子网

javascript - 使用媒体查询覆盖 JavaScript 样式