1

次のリンクで推奨されているように、s3バケットからapacheログファイルを取得してJSONドキュメントに解析し、ESに追加するラムダ関数を作成しようとしています:

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)”
    ]
}

親切に、これに対する解決策をお勧めします。

4

2 に答える 2

0

bylineLambda 関数に必要なパッケージが含まれていないようです。ローカルで実行npm installし、ソース コードとすべての依存関係を zip ファイルにパッケージ化し、それを Lambda にアップロードする必要があります。Lambda は実行されずnpm install、すべての依存関係がアップロードされることを想定しています。これはここに文書化されています。

于 2016-10-03T13:45:36.470 に答える
0

試す

npm -s install --production --prefix <folder>

次に、それを圧縮してアップロードします。

于 2016-10-03T20:03:04.780 に答える