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?
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'
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With