这可能是由于在生成预签名URL时未正确指定所需的权限。要生成具有需要的权限的URL,请确保您使用的是正确的AWS密钥和可访问S3存储桶的凭据。
以下是一个示例,说明如何使用AWS SDK for Node.js生成预签名S3 URL,并在其中指定所需的权限:
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = {
Bucket: 'my-bucket',
Key: 'my-file.txt',
Expires: 60,
ACL: 'public-read' // 设置公共读权限
};
const signedUrl = s3.getSignedUrl('putObject', params);
console.log(`Signed URL: ${signedUrl}`);
在这个示例中,我们使用getSignedUrl方法从S3 SDK中生成预签名URL,并在params对象中设置所需的参数。在这种情况下,我们设置了ACL参数为public-read,以将文件设为公共读。然后,我们只需使用console.log输出签名的URL。
上一篇:AWS云中找不到组件版本。