AWS S3 JavaScript SDK getSignedUrl仅返回基本路径
我有一些生成S3URL的非常简单的代码。我从SDK返回的URL只有S3的基本路径。它不包含任何其他内容。为什么会这样AWS S3 JavaScript SDK getSignedUrl仅返回基本路径,javascript,node.js,amazon-web-services,amazon-s3,aws-sdk,Javascript,Node.js,Amazon Web Services,Amazon S3,Aws Sdk,我有一些生成S3URL的非常简单的代码。我从SDK返回的URL只有S3的基本路径。它不包含任何其他内容。为什么会这样 var AWS = require('aws-sdk'); var s3 = new AWS.S3(); console.log(s3.getSignedUrl('getObject', { Bucket: 'test', Key: 'test' })); // Returns "https://s3.amazonaws.com/" Node.js v0.12.0
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
console.log(s3.getSignedUrl('getObject', {
Bucket: 'test',
Key: 'test'
}));
// Returns "https://s3.amazonaws.com/"
Node.js v0.12.0,AWS SDK 2.1.15或2.1.17,Windows 7 64位,问题不在于代码。事实证明,当您的环境中没有正确设置AWS凭据时,AWS SDK不会抱怨。修复
~/.aws/credentials
中的凭据解决了该问题。我也有同样的问题。通过更改下面的选项,我得到了正确的输出
从AWS\u Access\u Key\u Id=myaccesskey
到AWS\u Access\u Key\u Id=myaccesskey
同样,对于密钥。这意味着您不应该在
=
之前和之后使用大写字母,也不应该使用空格。我已经在console中将IAM角色[S3完全访问策略]分配给EC2,但仍然遇到相同的问题