UNPKG

@artilleryio/platform-fargate

Version:
1 lines 785 B
const S3=require("aws-sdk/clients/s3"),createS3Client=require("../../utils/create-s3-client");class S3ObjectStore{constructor(opts){return this.bucket=opts.bucket,this.s3=createS3Client(),this}async put(key,body,bucket){try{return this.s3.putObject({Body:body,Bucket:bucket||this.bucket,Key:key}).promise()}catch(s3Err){throw s3Err}}async get(key,bucket,opts){opts="object"==typeof bucket?bucket:opts||{};bucket="string"==typeof bucket?bucket:this.bucket;try{var res=await this.s3.getObject({Bucket:bucket,Key:key}).promise();return opts.json?JSON.parse(res.Body.toString()):res}catch(s3Err){throw s3Err}}async del(key,bucket){try{return await this.s3.deleteObject({Bucket:bucket||this.bucket,Key:key}).promise()}catch(s3Err){throw s3Err}}}module.exports={S3ObjectStore:S3ObjectStore};