1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const fs = require("fs-extra");
|
4 | const qq = require("qqjs");
|
5 | const log_1 = require("./log");
|
6 | const debug = log_1.debug.new('s3');
|
7 | exports.uploadFile = (local, options) => new Promise((resolve, reject) => {
|
8 | log_1.log('uploadFile', qq.prettifyPaths(local), `s3://${options.Bucket}/${options.Key}`);
|
9 | options.Body = fs.createReadStream(local);
|
10 | s3().upload(options, err => {
|
11 | if (err)
|
12 | reject(err);
|
13 | else
|
14 | resolve();
|
15 | });
|
16 | });
|
17 | exports.headObject = (options) => new Promise((resolve, reject) => {
|
18 | debug('headObject', `s3://${options.Bucket}/${options.Key}`);
|
19 | s3().headObject(options, (err, data) => {
|
20 | if (err)
|
21 | reject(err);
|
22 | else
|
23 | resolve(data);
|
24 | });
|
25 | });
|
26 | function s3() {
|
27 | if (s3._s3)
|
28 | return s3._s3;
|
29 | return s3._s3 = new (require('aws-sdk/clients/s3'))({
|
30 | accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
31 | secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
32 | });
|
33 | }
|
34 | exports.s3 = s3;
|
35 | (function (s3) {
|
36 | })(s3 = exports.s3 || (exports.s3 = {}));
|