const AWS = require('aws-sdk');
const s3 = new AWS.S3({
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
region: 'YOUR_BUCKET_REGION'
});
exports.handler = async (event) => {
const params = {
Bucket: 'YOUR_BUCKET_NAME',
Key: 'YOUR_FILE_NAME',
Expires: 60
};
try {
const url = await s3.getSignedUrl('getObject', params);
return {
statusCode: 200,
body: JSON.stringify(url)
};
} catch (err) {
console.log(err);
return {
statusCode: 500,
body: JSON.stringify(err)
};
}
};
其中,accessKeyId和secretAccessKey为AWS账户的访问凭证,可在AWS控制台中获得。你还需将‘YOUR_BUCKET_NAME’替换为实际使用的S3桶名称,并将‘YOUR_FILE_NAME’替换为S3对象名。成功获取到S3资源后,会生成并返回预签名的URL地址。