-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pre-signed S3 putObject URLs don't allow tags #4620
Comments
Unsure if the AWS JavaScript SDK v2 (version const AWS = require("aws-sdk");
const region = "us-east-2";
const bucketName = "testbucket-temp";
const key = "testingJSSDK.txt";
const signedUrlExpireSeconds = 60 * 5;
AWS.config.update(region);
AWS.config.getCredentials(function (err) {
if (err) console.log(err.stack);
// credentials not loaded
else {
const s3 = new AWS.S3();
const presignedUrl = s3.getSignedUrl("putObject", {
Bucket: bucketName,
Key: key,
Expires: signedUrlExpireSeconds,
Tagging: 'sem=somethingSemantic'
});
console.log("Presigned URL: " + presignedUrl);
}
}); It generates presigned URL like below:
It is missing Using it to upload file is returning Transferring it to Also refer aws/aws-sdk-net#1696 (comment) for guidance provided for using tags with presigned URL. |
Thanks for reaching out and sorry for the long wait. During my investigation, I found out that there might be ongoing bug on service S3 side that affects across-SDKs but the expected behavior here is to include
Here are some resources that I found indicates the known issue on the service side:
Let us know if issue persists with |
This issue has not received a response in 1 week. If you still think there is a problem, please leave a comment to avoid the issue from automatically closing. |
Is your feature request related to a problem? Please describe.
Essentially reopening this issue because it is not solved: #1313
Summary:
It is impossible to enforce Tags and their value with just a signed url. The only thing that you can do is allow a client to provide headers. This is not usable when you do not have control over the client and still want tags to be set.
Describe the solution you'd like
I'd like the S3.getSignedUrl method to allow an additional param:
TagSet
which matches other TagSet params throughout the API. This would result in a signed url that can have data put to it and the resulting S3 object will have the tags defined in the getSignedUrl params.The text was updated successfully, but these errors were encountered: