Ниже приведен общий код для загрузки изображения с s3, записанного в Node.Js и выполнения на AWS Lambda. Но он застрял в строке s3.getObject ({Bucket, Key, ResponseContentType: 'text / plain'}). Обещание (). Я пробовал это несколькими способами, но ничего не получилось. У меня сейчас нет идей. , Было бы очень полезно, если бы вы, ребята, сказали мне, где я поступил неправильно.
const path = require('path')
const fs = require('fs')
const AWS = require('aws-sdk')
AWS.config.update({
accessKeyId: 'XXXXXXXXXXXXXX',
secretAccessKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXxx'
})
const outputFilePath = path.resolve('/tmp/imotmp', path.parse('Tobacco-Halifax-Oak-worktops.jpg').base)
const { Key, Bucket } = data
const s3 = new AWS.S3({})
console.log('downloading...')
let s3Data = await s3.getObject({ Bucket, Key, ResponseContentType: 'text/plain' }).promise()
fs.writeFile(outputFilePath, s3Data.Body, function (error) {
if (error) {
console.log('writeFile', error)
}
console.log('completed', outputFilePath)
return { message: 'hurray' }
})