AWS Lambda - не удается получить доступ к файлу JS, связанному в Layer (Node.js) - PullRequest
0 голосов
/ 18 июня 2019

Я создал лямбда-функцию на node.js и прикрепил к ней слой. Но когда я выполняю свою лямбда-функцию, она не читает JS, встроенную в слой. Пожалуйста, дайте мне знать, если я здесь ошибаюсь.

Следуя этому посту , создал слой 'my-utility' и загрузил nodejs.zip.

Консоль AWS> Лямбда> Слои> Создать слой

Структура слоя

my-utility
   - nodejs
     - node_modules   
     - myutil.js
     - package.json
     - package-lock.json
   - nodejs.zip 

myutil.js

function myFun(name) {
     console.log("Hello.. " + name);
}

Лямбда-код (Node.js 10.x)

const myutil = require('/opt/nodejs/myutil.js');
exports.handler = async (event) => {

    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };

    console.log('Layer Code :', myutil);

    return response;
};

После тестирования выше лямбды, он дает следующий результат:

Response:
{
  "statusCode": 200,
  "body": "\"Hello from Lambda!\""
}

Request ID:
"5dbfd4ab-04d2-47eb-89dd-c9c6a650cbb0"

Function Logs:
START RequestId: 5dbfd4ab-04d2-47eb-89dd-c9c6a650cbb0 Version: $LATEST
2019-06-18T18:35:35.125Z    5dbfd4ab-04d2-47eb-89dd-c9c6a650cbb0    INFO    Layer Code :  {}
END RequestId: 5dbfd4ab-04d2-47eb-89dd-c9c6a650cbb0
REPORT RequestId: 5dbfd4ab-04d2-47eb-89dd-c9c6a650cbb0  Duration: 133.56 ms Billed Duration: 200 ms     Memory Size: 128 MB Max Memory Used: 26 MB

Если вы заметили, что когда я пытаюсь напечатать константу 'myutil', она печатается как пустая. Это означает, что код слоя не внедряется во время лямбда-выполнения.

Код уровня INFO: {}

1 Ответ

0 голосов
/ 19 июня 2019

Я обратился в службу поддержки AWS и решил эту проблему. Я должен кодировать функцию, как показано ниже в myutil.js. Эта ссылка также помогла.

module.exports = {
  myFun:function (name) {
     console.log("Hello.. " + name);
     return 'narendra';
  }
};

Я мог видеть лямбду, вызывающую функцию js из слоя, и правильно печатать возвращаемое значение.

Журналы лямбда-функций

START RequestId: 39bfa864-9a31-4c0c-b9d3-ce7c2b3d1aaf Version: $LATEST
2019-06-18T21:28:06.505Z    39bfa864-9a31-4c0c-b9d3-ce7c2b3d1aaf    INFO    Hello.. narendra
2019-06-18T21:28:06.505Z    39bfa864-9a31-4c0c-b9d3-ce7c2b3d1aaf    INFO    Layer Code :  narendra
END RequestId: 39bfa864-9a31-4c0c-b9d3-ce7c2b3d1aaf
REPORT RequestId: 39bfa864-9a31-4c0c-b9d3-ce7c2b3d1aaf  Duration: 85.38 ms  Billed Duration: 100 ms     Memory Size: 128 MB Max Memory Used: 26 MB
...