这是由于lambda layer中引用的共享对象文件无法找到。解决方法是在lambda层中将缺失的共享对象文件作为层单独上传,并将其添加到函数的运行时环境中。
以下是一个示例,假设我们需要使用MySQL连接池模块:
$ mkdir node_modules
$ npm install mysql2
$ zip -r ./mysql2.zip node_modules
在AWS控制台中,创建一个新的lambda层,将“mysql2.zip”上传到该层。
在lambda函数中使用该层:
const mysql = require('mysql2/promise');
exports.handler = async (event, context) => { const connection = await mysql.createConnection({ host : 'example.org', user : 'bob', password : 'secret', database : 'my_db' });
// do something
await connection.end(); };