0

私は、次のリンクで推奨されているように、JSON文書にそれらを解析し、ESに追加しS3バケットからApacheのログファイルを取るラムダ関数を作成しようとしています:AWSラムダエラー

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

この解決方法をお勧めします。

+0

'byline'はあなたのアプリにインストールしたNPMモジュールですか? Lambdaの展開パッケージにそれを含めていますか? –

答えて

0

明らかに、ラムダ機能に必要なパッケージbylineは含まれていません。ローカルでnpm installを実行し、ソースコードとすべての依存関係をzipファイルにパッケージし、それをLambdaにアップロードする必要があります。 Lambdaはあなたのためにnpm installを実行せず、すべての依存関係がアップロードされることを期待しています。これは、hereと記載されています。

+0

私はすべての依存関係をアップロードしようとしましたが、私の展開パッケージの構造に少し変更がありました。私が直面しているエラーは次のとおりです: { "errorMessage":null } –

0

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

、それを圧縮し、それをアップロードしてみてください。

関連する問題