Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Specify tags using the x-amz-tagging request header

I have a Node program for file uploading to aws s3, I need to specify the x-amz-tagging with the request header. I tried something but it doesn't work!

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

I have seen something from aws docs,

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>

Could you please explain how it works?

like image 982
Sabreena Avatar asked Oct 23 '25 02:10

Sabreena


1 Answers

The code snippets you show are from two different methods of tagging, the first during object creation, the second is adding tags to an existing object.

The x-amz-tagging header is what you would use during object creation, but it uses a different syntax than in your example. Try this instead:

function buildRequestHeader() {
  return {
    'Content-Length': fileBuffer.size,
    'Content-Type': mimeType,
    'x-amz-acl': 'public-read',
    'x-amz-tagging': 'tag1=abcd&tag2=efgh'
  }
}
like image 117
mfisherca Avatar answered Oct 24 '25 15:10

mfisherca



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!