Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sonodar/hono-aws-lambda-template

Template for running Hono.js on AWS Lambda Function (with Parameter Store support)
https://github.com/sonodar/hono-aws-lambda-template

aws aws-lambda hono honojs

Last synced: 19 days ago
JSON representation

Template for running Hono.js on AWS Lambda Function (with Parameter Store support)

Awesome Lists containing this project

README

        

# hono-aws-lambda-template

AWS Lambda で [Hono](https://hono.dev/) を実行するためのテンプレート。\
最大の特徴として、Parameter Store から設定を取得することができます。

デプロイには SAM(aws-sam-cli) を利用していますが、SAM 依存のコードではないため
CDK や Terraform でもデプロイできます。

Hono の
[aws-lambda adapter](https://github.com/honojs/hono/tree/main/src/adapter/aws-lambda)
が素晴らしく、これだけで API Gateway V2 だけでなく、ALB や 旧 API Gateway と連携して使えるようになります。(※)

> ※ `sam local invoke` には対応していません(2024/06 現在)

## 開発

```shell
npm run dev
```

## デプロイ

```shell
sam validate --lint
sam build
sam deploy --guided
```

### パラメータストアでの設定

AWS Systems Manager の Parameter Store から設定を取得することができます。\
パラメータを取得するためには、環境変数 `AWS_SSM_PARAMETER_PATH` を設定してください。

パラメータ名の最後の部分が環境変数名になります。\
例えば、`/hono/adapter/lambda/VARIABLE` というパラメータがある場合、
`AWS_SSM_PARAMETER_PATH` に `/hono/adapter/lambda/` を設定することで、
`VARIABLE` という環境変数が設定されます。

## 環境変数設定

- `BASE_PATH`
- ルーティングのルートパスを指定します。デフォルトは `/` です。
既存の ALB にアタッチする場合など、パスルーティングする場合などに便利です。

- `AWS_SSM_PARAMETER_PATH`
- 環境変数を取得するための SSM Parameter Store パス起点。[パラメータストアでの設定](#パラメータストアでの設定)参照。