Tsu*_*una 4 amazon-s3 bucket amazon-web-services pre-signed-url
我尝试过,如果我使用访问密钥,它工作正常,但我试图获取访问密钥并使用角色,但是一旦我获取访问密钥。我得到的回报是www.aws.amazon.com
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = {Bucket: config.bucket, Expires: config.time, Key};
const url = s3.getSignedUrl('getObject', params);
console.log('The URL is', url);
Run Code Online (Sandbox Code Playgroud)
我什至通过进入我的 ec2 并运行 cli 命令来确保我的角色设置正确,aws s3 presign s3://bucket/path/file该命令工作正常,我得到了签名的 url 作为回报,所以这意味着我的角色是正确的,不是吗?
预先感谢您的任何建议/帮助。
getSignedUrl()使用 IAM 角色时无法同步使用。
注意:如果您同步调用此方法(不带回调),则必须确保您具有静态或先前解析的凭据,否则可能无法正确签署请求。如果您不能保证这一点(您正在使用异步凭证提供程序,即 EC2 IAM 角色),则应始终使用异步回调来调用此方法。
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-property
s3.getSignedUrl('getObject', params, function (err, url) {
console.log('The URL is', url);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1558 次 |
| 最近记录: |