goで書いたコードをAWS Lambdaにビルド&デプロイしたところ次のエラーが発生しました。
{
"errorMessage": "fork/exec /var/task/<ハンドラ名>: no such file or directory",
"errorType": "PathError"
}
当エラーの対象方法についてメモ書きします。
結論
lambdaのハンドラ名とビルドファイル名が一致していなかったのが原因でした。
マネージメントコンソールのlambdaのランタイムを確認します。
今回はハンドラを「test」と設定しています。
この場合、ビルドファイル名も「test」とする必要があります。
$ GOOS=linux go build -o "test" "test.go"
$ zip "test.zip" "test"
test.zipをlambdaにデプロイすれば解決です。