Разрешение на API AWS с использованием Lambda - PullRequest
0 голосов
/ 16 февраля 2019

Я тестирую свой недавно развернутый API AWS, используя https://www.apitester.com/. Как видите, я не могу получить доступ к API.API развернут, и лямбда-код выглядит следующим образом.

const AWS = require('aws-sdk');
var bucket = new AWS.S3();

exports.handler = (event, context, callback) => {

     let data =JSON.parse(event.body);
     
     var params = {
       "Body": data,
       "Bucket": "smartmatressbucket",
      // "Key": filePath  
    };
    bucket.upload(params, function(err, data){
       if(err) {
           callback(err, null);
       } else {
           let response = {
        "statusCode": 200,
        "headers": {
            "my_header": "my_value"
        },
        "body": JSON.stringify(data),
        "isBase64Encoded": false
    };
           callback(null, response);
    }
    });
    
};

1 Ответ

0 голосов
/ 16 февраля 2019

Глядя на журнал ответов, кажется, что API-шлюз генерирует «ForbiddenException».Я полагаю, что наиболее вероятной причиной является использование неправильного URL-адреса API (например, https://ogk2hm09j0.execute -api.eu-central-1.amazonaws.com / ).

Предположим, вы настраиваете лямбдуфункция для метода GET имени ресурса "resourceA".Затем вы развертываете API на этапе с именем «dev».Тогда правильный URL должен быть https://ogk2hm09j0.execute -api.eu-central-1.amazonaws.com / dev / resourceA

Но, глядя на URL API в журналах, кажется,Имя этапа или имя ресурса не указано.

...