Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

NestJSで特定のサービスのメソッドを直接実行する

$
0
0

NestJSをLambdaでホストしているとき、特定のサービスのメソッドをダイレクトに実行したい場合があります。

例:cronジョブをCloudWatch Event -> Lambdaで実行する

そういう時はこんな感じのhandlerを作ればOKです。

import{NestFactory}from'@nestjs/core'import{Handler}from'aws-lambda'// 実行したいサービスのあるモジュールimport{SiteModule}from'./site.module'// 実行したいサービスimport{SiteService}from'./site.service'exportconsthandler:Handler=async(event)=>{// Create NestJS applicationconstapp=awaitNestFactory.create(SiteModule)// Resolve Dependenciesconstservice=awaitapp.resolve(SiteService)// Execute methodconstresult=awaitservice.listSite(event.username)returnresult};

NestJSをLambdaでってどうなの?

パフォーマンス期待するならやめた方がいいと思います。
Fargateとかその辺覚える労力より先にNestJS使いこなせるようになりたい目的でLambdaに載せてるだけなので・・・

ただ、この記事のような形で、すでに動かしているNestJSアプリケーションの実装を使ったバッチ処理をLambdaにやらせるのはありかもしれません。
ジョブのリトライとか通知とかその辺りの便利機能がLambdaにはありますし、バッチ系なら多少立ち上がりが遅くても問題ないですし。


Viewing all articles
Browse latest Browse all 8691

Trending Articles