Я, кажется, получаю проблемы с разрешениями и не могу найти какой-либо SO-ответ для решения этой проблемы.
Моя лямбда-функция проста (примечание - я использую Babel для транспиляции):
import AWS from "aws-sdk";
import { success, failure} from "./libs/response-lib";
export async function main(event, context, callback) {
const s3 = new AWS.S3();
const params = {
Bucket: "mybucket",
};
try {
const result = await s3.listObjectsV2(params);
return success(result);
}
catch(e) {
return failure({ status: false, message: e })
}
}
При развертывании с использованием Serverless и достижении конечной точки, которую он мне дает, я получаю ошибку 500.
Я включил это в мой serverless.yml
файл и выключил «блокировать весь публичный доступ» для самой корзины S3, но мне кажется, что мне не хватает больше?
iamRoleStatements:
- Effect: Allow
Action:
- s3:ListBucket
Resource: "arn:aws:s3:::mybucket"