Я новичок в Serverless и AWS также. Так что мое требование похоже. Мне нужно скачать файл с S3. Я пытался во многих отношениях. Я прочитал много статей, но не смог найти подходящий документ для этой цели.
Итак, я создал шаблон с использованием Serverless и получил все файлы, такие как handler.js, serverless.yml
Мне нужно знать правильные шаги для загрузки файла с S3.
То, что я пытался это.
Handler.js
const AWS = require('aws-sdk');
const S3= new AWS.S3();
exports.hello = async (event, context) => {
console.log(`Hi from Node.js ${process.version} on Lambda!`)
S3.getObject({Bucket: '*******', Key: '******'}).promise().then( data =>{
return {
statusCode: 200,
body: data
})
}
Serveless.yml
service: node11
custom:
bucket: *********
provider:
name: aws
runtime: provided # set to provided
stage: dev
region: us-east-1
iamRoleStatements:
- Effect: Allow
Action:
- s3:*
Resource: "arn:aws:s3:::${self:custom.bucket}/*"
functions:
hello:
handler: handler.hello
events:
- http:
path: /
method: get
layers: # add layer
- arn:aws:lambda:us-east-1:553035198032:layer:nodejs11:3
Что бы я ни делал, я всегда получаю сообщение об ошибке типа ВНУТРЕННЯЯ ОШИБКА СЕРВЕРА.
Как правильно получить файл с S3?