eggplugins-s3
Version:
AWS S3 plugin for Egg
27 lines (19 loc) • 802 B
JavaScript
;
const assert = require('assert');
const S3 = require('s3-api');
module.exports = app => {
app.addSingleton('s3', createOneClient);
};
function createOneClient(config, app) {
const { credentials, endpoint } = config;
assert(credentials.accessKeyId, `[egg-aws-s3] 'accessKeyId: ${credentials.accessKeyId}' is required on config`);
assert(credentials.secretAccessKey, `[egg-aws-s3] 'secretAccessKey: ${credentials.secretAccessKey}' is required on config`);
app.coreLogger.info('[egg-aws-s3] connecting %s', endpoint);
const s3 = new S3(config);
app.beforeStart(async () => {
const { buckets } = await s3.listBuckets();
app.coreLogger.info('[egg-aws-s3] listBuckets:', buckets);
app.coreLogger.info('[egg-aws-s3] init instance success');
});
return s3;
}