AWS 拉姆达错误
AWS lambda error
我正在尝试创建一个 lambda 函数,该函数从 s3 存储桶中获取 apache 日志文件,将它们解析为 JSON 文档并将它们添加到 ES,如以下 link 中所建议:
https://github.com/awslabs/amazon-elasticsearch-lambda-samples
但我经常遇到以下错误:
{
"errorMessage": "Cannot find module 'byline'",
"errorType": "Error",
"stackTrace": [
"Object.<anonymous> (/var/task/index.js:19:18)",
"Module._compile (module.js:409:26)",
"Object.Module._extensions..js (module.js:416:10)",
"Module.load (module.js:343:32)",
"Function.Module._load (module.js:300:12)",
"Module.require (module.js:353:17)”
]
}
请推荐一个解决方案。
显然您没有包含 Lambda 函数所需的 byline
包。您必须 运行 npm install
在本地将您的源代码和所有依赖项打包到一个 zip 文件中,然后将其上传到 Lambda。 Lambda 不会为您 运行 npm install
并且它希望上传所有依赖项。这已记录在案 here。
尝试
npm -s install --production --prefix <folder>
然后压缩并上传。
我正在尝试创建一个 lambda 函数,该函数从 s3 存储桶中获取 apache 日志文件,将它们解析为 JSON 文档并将它们添加到 ES,如以下 link 中所建议:
https://github.com/awslabs/amazon-elasticsearch-lambda-samples
但我经常遇到以下错误:
{
"errorMessage": "Cannot find module 'byline'",
"errorType": "Error",
"stackTrace": [
"Object.<anonymous> (/var/task/index.js:19:18)",
"Module._compile (module.js:409:26)",
"Object.Module._extensions..js (module.js:416:10)",
"Module.load (module.js:343:32)",
"Function.Module._load (module.js:300:12)",
"Module.require (module.js:353:17)”
]
}
请推荐一个解决方案。
显然您没有包含 Lambda 函数所需的 byline
包。您必须 运行 npm install
在本地将您的源代码和所有依赖项打包到一个 zip 文件中,然后将其上传到 Lambda。 Lambda 不会为您 运行 npm install
并且它希望上传所有依赖项。这已记录在案 here。
尝试
npm -s install --production --prefix <folder>
然后压缩并上传。