我目前正在使用lambda为我的s3存储桶创建签名链接,这些链接应该有24小时的到期时间。但是,当我检查返回的链接时 - 所有到期时间都设置为15分钟。我已经将s3服务器上的CORS配置更改为86400(24小时),但似乎没有修复它。文件检索工作得很好。
我使用javascript s3 sdk执行此操作,下面是创建签名网址的代码段。我该怎么做才能让它接受过期时间?
var EXPIRY_IN_SECONDS = 3600 * 24; // 24 hour
function createSignedDownloadUrl(options, callback) {
if (!options || !options.fileName ) {
return callback(new Error('Invalid input.'));
}
var containsSpecialChars = /[^\u0000-\u00ff]/g.test(options.fileName);
var contentDisposition;
if (containsSpecialChars) {
contentDisposition = 'inline; filename*=UTF-8\'\''+ encodeURIComponent(options.fileName);
} else {
contentDisposition = 'inline; filename="'+ options.fileName + '"; filename*=UTF-8\'\''+ encodeURIComponent(options.fileName);
}
var getObjectParams = {
Bucket: options.s3Bucket,
Key: options.s3Key,
Expires: EXPIRY_IN_SECONDS,
ResponseContentDisposition: contentDisposition,
};
s3.getSignedUrl('getObject', getObjectParams, callback);
}