解决方法:
AWS SDK V3 是 AWS 的最新版本,相较于 V2 有非常多的改进和新增功能,但是它的 API 风格发生了变化,因此迁移时需要做一些调整。以下是最小代码更改的解决方法:
const AWS = require('aws-sdk');
// AWS SDK V2 const s3 = new AWS.S3({accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey'});
// AWS SDK V3 const s3 = new AWS.S3({credentials: {accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey'}});
// AWS SDK V2 s3.getObject({Bucket: 'bucket', Key: 'key'}, (err, data) => { if (err) console.error(err); else console.log(data); });
// AWS SDK V3 try { const data = await s3.getObject({Bucket: 'bucket', Key: 'key'}).promise(); console.log(data); } catch (err) { console.error(err); }
通过以上三步改变,就可以轻松地将 AWS SDK V2 迁移到 V3 版本中,同时最小化代码更改。