Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 14 additions & 15 deletions lib/upload-s3.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
const AWS = require('aws-sdk')

// configure AWS to log to stdout
AWS.config.update({
logger: process.stdout
})
const { S3Client } = require('@aws-sdk/client-s3')
const { Upload } = require('@aws-sdk/lib-storage')

async function uploadS3(stream, config, key) {
const s3 = new AWS.S3({
region: config.S3_REGION
// Construct S3 client with logger
const s3 = new S3Client({
region: config.S3_REGION,
logger: process.stdout
})
const result = await s3.upload(
{
// Use lib-storage Upload for multipart upload
const upload = new Upload({
client: s3,
params: {
Key: key,
Bucket: config.S3_BUCKET,
Body: stream,
StorageClass: config.S3_STORAGE_CLASS
},
{
partSize: config.S3_PART_SIZE,
queueSize: 1
}
).promise()
partSize: config.S3_PART_SIZE,
queueSize: 1
})
const result = await upload.done()

console.log('Uploaded to', result.Location)
return result.Location
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
"description": "Lambda function for executing pg_dump and streaming the output to s3.",
"main": "index.js",
"dependencies": {
"@aws-sdk/client-s3": "^3.600.0",
"@aws-sdk/lib-storage": "^3.600.0",
"aws-sdk": "2.1693.0",
"moment": "2.30.1"
},
Expand Down