UNPKG

1.13 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const fs = require("fs-extra");
4const qq = require("qqjs");
5const log_1 = require("./log");
6const debug = log_1.debug.new('s3');
7exports.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});
17exports.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});
26function 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}
34exports.s3 = s3;
35(function (s3) {
36})(s3 = exports.s3 || (exports.s3 = {}));