AWSのLambdaにてexpressのコードが実行出来ません。
AWSのLambdaにてzipのコードが実行出来ません。
ec2の上にたてたlinuxで作成したexpressのコードをzipで固めてs3においてからlambdaに登録したのですが、実行できない状況です。
expressのライブラリも一緒にzipで固めて登録しているはずなのですが、、
lambdaの環境はnode.jsで構築しています。
APIgatewayをトリガーにしてlambdaを発動させるようにしているのですが、APIgatewayの設定画面からURLをクリックしてもexpressのコード通りに画面が表示されません。
expressのコードが悪いのでしょうか、そもそもlambdaにトリガーが届いていないのでしょうか。
ブラウザ上でのメッセージ
{"message":"Not Found"}
expressコード例
const serverlessExpress = require('@vendia/serverless-express')
const app = require('express')()
app.use('/', (req, res) => res.send(`root`));
app.use('/hello', (req, res) => res.send(`hello`));
// ローカル確認用
if (process.env.NODE_ENV === `develop`) app.listen(3000)
exports.handler = serverlessExpress({ app })
expressコード例(apiを使わずにlambdaのみでテストをしてみた時のコード)
// packages/server/src/index.ts
import serverlessExpress from '@vendia/serverless-express'
import express from 'express'
import cors from 'cors'
const app = express()
app.use(cors())
app.use(express.json())
app.get('/test', (_, res) => {
res.status(200).send({
message: 'serverlessExpress test',
})
})
export const handler = serverlessExpress({ app })
APIgatewayをかませていなくても、expressのライブラリごとまとめたzipのコードがlambdaで実行出来ません(テストを押しても実行失敗になります。)