CLOVER🍀

That was when it all began.

LocalStack

LocalStack × AWS SAMで、AWS Step FunctionsのJSONata対応を試す

これは、なにをしたくて書いたもの? JSONata? JSONataは、JSON用のクエリーおよび変換言語です。 JSONata Documentation · JSONata AWS Step FunctionsのJSONata対応 AWS Step Functionsではデータ操作を行うのにJSONPathを使っていましたが、2024年11月か…

Powertools for AWS Lambda(Python)を使って、AWS Lambda関数を書く時に型定義を利用する

これは、なにをしたくて書いたもの? AWS Lambda関数をTypeScriptで書く場合には、型定義を@types/aws-lambdaから使うことが多いと思います。 @types/aws-lambda - npm ではPythonの場合はどうしたらいいのだろうと調べてみたら、Powertools for AWS Lambda…

LocalStack × AWS SAMで、エラーハンドリングをするAWS Step Functionsのワークフローを書いてみる

これは、なにをしたくて書いたもの? AWS Step Functionsのワークフローを見ていて、エラーハンドリングについて試しておいた方がいいかなと思いまして。 Step Functions ワークフローでのエラーの処理 - AWS Step Functions AWS Step Functionsのエラーハン…

LocalStack × AWS SAMで、AWS Lambda関数を使った入出力を扱うAWS Step Functionsのワークフローを書いてみる

これは、なにをしたくて書いたもの? LocalStackやAWS Step Functions Localを使って、AWS Step Functionsのチュートリアルや環境構築を試してきました。 今度は、練習ということで入出力を扱うAWS Lambda関数を書いてみたいと思います。 お題 こういう入力…

LocalStack × AWS SAMでAWS Step Functionsを構築して動かしてみる

これは、なにをしたくて書いたもの? 前に、LocalStackとTerraform、AWS SAMでAWS Step Functionsを作成してみました。 LocalStack × Terraform × AWS SAMでAWS Step Functionsを動かしてみる - CLOVER ただ、AWS SAMでもAWS Step Functionsのステートマシン…

LocalStack × Terraform × AWS SAMでAWS Step Functionsを動かしてみる

これは、なにをしたくて書いたもの? AWS Step Functions Localを使ってAWS Step Functionsをローカルで動かしてみたのですが、AWS Step Functions Localだけではなくて AWS SAMでAWS Lambdaのローカル環境を起動する必要があったり、AWS CLIでステートマシ…

AWS Lambda Powertools for TypeScript(Logger、Parameters)を試す

これは、なにをしたくて書いたもの? AWS Lambda Powertoolsというものを、ちょっと調べておきたいなということで。 AWS Lambda Powertools AWS Lambda Powertoolsというのは、サーバーレスのベストプラクティスに添えるように提供されている、ユーティリテ…

OpenTelemetryのFaaS向けの機能とAWS Distro for OpenTelemetryの違い

これは、なにをしたくて書いたもの? OpenTelemetryのInstrumentationを見ていると、言語によってはServerless Function(FaaS)をサポートしているようです。 これをLocalStack上で試してみようと思ったのですが、うまく動かなかったので…そこに至るまでに…

AWS SAMのTypeScriptサポートが、いつの間にかGAになっていたという話

これは、なにをしたくて書いたもの? 前に、プレビュー版のAWS SAMのTypeScriptサポートを試してみました。 AWS SAMのTypeScriptサポート(プレビュー)をLocalStackで試す - CLOVER そして、ふとAWS SAMのTypeScriptに関するページを見ると、「プレビュー」…

LocalStack内のAWS Lambda関数から、LocalStackで動作している別のAWSリソースにアクセスするにはLOCALSTACK_HOSTNAME環境変数を使う

これは、なにをしたくて書いたもの? AWS Lambda関数を試す時にLocalStackをよく使うのですが、LocalStack内で動作するAWS Lambda関数内から、同じLocalStack上の リソースにアクセスする際の方法をよく忘れるのでメモしておくことにしました。 localhostで…

LocalStackの初期化フックを使って、起動時に初期化処理を行う

これは、なにをしたくて書いたもの? LocalStackをよく使っているのですが、起動時にLocalStack上のリソースを作る方法がないのかなと思って調べてみました。 初期化フック(Initialization Hooks)というものを使うと、LocalStackのライフサイクルに合わせ…

Serverless Frameworkの設定にAWS Systems Manager Parameter Storeを使ってみる(LocalStack利用)

これは、なにをしたくて書いたもの? Severless Frameworkのserverless.ymlでAWS Systems Manager Parameter Storeの値を参照できるみたいなので、試してみることに しました。 合わせて、AWS Lambda関数内からAWS Systems Manager Parameter Storeを参照す…

AWS SDK for Java 2.xでAPI呼び出しの結果がエラーの場合、例外がスローされるのか?(SdkHttpResponseのisSuccessfulは?)

これは、なにをしたくて書いたもの? AWS SDK for Java 2.xを使うと、APIの各種レスポンスからSdkHttpResponseというインターフェースのインスタンスを取得することが できます。 こちらですね。 SdkHttpResponse (AWS SDK for Java - 2.20.17) このクラスに…

AWS SDK for Java v2に対応したAmazon SQS Java Temporary Queue ClientとLocalStackを使って、一時キュー+RPCを試してみる

これは、なにをしたくて書いたもの? 以前、Amazon SQS Java Temporary Queue ClientとElasticMQを使って、一時キューとRPCを使ったエントリーを書いたことがあります。 Amazon SQS互換のElasticMQを使って、Temoporary Queue+RPCを試してみる - CLOVER こ…

LocalStackとMinIOで、バケットにアップロードしたファイルをHTTPで参照する

これは、なにをしたくて書いたもの? LocalStackやMinIOをAmazon S3互換のオブジェクトストレージとしてAWS SDKやAWS CLIからアクセスすることはよくあるのですが、 バケットにアップロードしたファイルをHTTPで参照したことってないな、とふと思いまして。 …

Serverless FrameworkでAWS Lambda関数をローカル環境でエミュレーションで動かす

これは、なにをしたくて書いたもの? これまでServerless Frameworkを使って作成したサービスをLocalStackにデプロイして動かしていましたが、デプロイせずとも動作確認する パターンも試しておきたいなと思いまして。 invoke localとgenerate-event 使うの…

Serverless Framework+LocalStackで、Amazon SNSのトピックをサブスクライブするAWS Lambda関数を作る

これは、なにをしたくて書いたもの? 今まで試してきたServerless Frameworkを使った例では、ずっとAmazon API Gatewayを使ったものだったのですが、別のものでも試して みようかなと思いまして。 今回は、Amazon SNSを使ってみたいと思います。 Amazon SNS …

Serverless Esbuildを使って、TypeScriptのServerless Frameworkサービスを作る

これは、なにをしたくて書いたもの? 前に、Serverless FrameworkをTypeScript(とLocalStack)で使ってみました。 Serverless FrameworkをLocalStack+TypeScriptで使ってみる(Amazon API Gateway+AWS Lambda) - CLOVER この時、テンプレートにaws-nodej…

Amazon EventBridgeでスケジューリング起動するAWS Lambda関数を、AWS SAM+LocalStackで試す

これは、なにをしたくて書いたもの? Amazon EventBridgeを使って、AWS Lambda関数をスケジュール実行させてみたいなということで。 LocalStackでAmazon EventBridgeを使えそうだったので、試してみることにしました。 Amazon EventBridge Amazon EventBridg…

Amazon SQSにメッセージを送受信するアプリケーションをSpring Bootで書いてみる(AWS SDK for Java v2、LocalStack利用)

これは、なにをしたくて書いたもの? 前に、Amazon SQS(といってもLocalStack上のものですが)を使ってFIFOキューを試してみました。 LocalStackでAmazon SQSのFIFOキューを試してみる(AWS SDK for Javaを使用) - CLOVER 今回は、常駐アプリケーションと…

Serverless FrameworkをLocalStack+TypeScriptで使ってみる(Amazon API Gateway+AWS Lambda)

これは、なにをしたくて書いたもの? Serverless FrameworkでTypeScriptなAWS Lambdaアプリケーションがどういう感じなのか見てみたいというのと、それをLocalStackに デプロイしてみたい、ということでちょっと試してみることにしました。 今回は、Serverle…

AWS SAMのTypeScriptサポート(プレビュー)をLocalStackで試す

これは、なにをしたくて書いたもの? 自分はAWS SAMでTyepScriptを使う時はほぼ自前で設定を書いているのですが、今年の2月に出ていたAWS SAMのTypeScriptサポートを 1度試しておこうかなと思い始めたので、やってみようかなと。 AWS Serverless Application…

LocalStackでAmazon SQSのFIFOキューを試してみる(AWS SDK for Javaを使用)

これは、なにをしたくて書いたもの? Amazon SQSをちょっと試しておきたいなと思ったのですが、動かす時にいろいろ考えた結果FIFOキューを試してみることにしました。 Amazon SQS自体は本物ではなく、LocalStackのものを使用します。 Amazon SQS Amazon SQS…

AWS SAM+LocalStackで、Amazon SQSキューからメッセージを受け取るAWS Lambda関数をTypeScriptで書いてみる

これは、なにをしたくて書いたもの? 先日、AWS SAM+LocalStackを使ってAmazon SNSの通知を受け取るAWS Lambda関数を書きました。 AWS SAM+LocalStackで、Amazon SNSの通知を受け取るAWS Lambda関数をTypeScriptで書いてみる - CLOVER 今度は、Amazon SQS…

AWS SAM+LocalStackで、Amazon SNSの通知を受け取るAWS Lambda関数をTypeScriptで書いてみる

これは、なにをしたくて書いたもの? AWS SAM+LocalStackを使って、Amazon SNSの通知を受け取るAWS Lambda関数を書いてみようかなと。 AWS Lambda関数は、Node.js+TypeScriptで作成します。 Amazon SNSのトピックからの通知をAmazon Lambda関数で受け取る …

LocalStackにデプロイしたAWS Lambda関数(Node.js)をGoogle Chrome DevToolsでデバッグする

これは、なにをしたくて書いたもの? LocalStackのドキュメントを見ていて、AWS Lambdaのリモートデバッグについて記載があるのに気づきまして。 Remote Debugging | Docs このドキュメントに書かれているのはPythonとJavaなのですが、読んでいてNode.jsでも…

AWS SAM+LocalStackで、Amazon S3のイベント通知を受け取るAWS Lambda関数をTypeScriptで書いてみる

これは、なにをしたくて書いたもの? 最近AWS SAM+LocalStackで、Amazon API Gateway+AWS Lambdaなサンプルを書いているのですが。 他のパターンも試してみたくなったので、AWS SAMを使ってAmazon S3を扱うAWS Lambda関数を書いてみようと 思います。 今回…

LocalStack+AWS SAMで簡単にデプロイする(再デプロイできない問題を回避する)

これは、なにをしたくて書いたもの? AWSを使う代わりに、LocalStackをよく使っているのですが。 特にAWS SAMでデプロイすると2回目以降で困ったことになっていたので、それをなんとか回避したいといろいろ 考えてみました。 1回目はいいのですが、2回目は応…

AWS Lambda向けのミドルウェアエンジンmiddyを試す(Amazon API Gateway、LocalStack)

これは、なにをしたくて書いたもの? AWS Lambda関数(Node.js)向けの、middyというライブラリの存在を知ったので、ちょっと試してみることにしました。 middy ライブラリと書きましたが、middyは「AWS Lambda関数を簡単に書くためのミドルウェアエンジンだ…

AWS SAMを使って、複数のAWS Lambda関数をLocalStackのAmazon API Gatewayのバックエンドにデプロイする(Makefileでのビルド付き)

これは、なにをしたくて書いたもの? ここまで、何回かAWS SAMを使ってAWS Lambda関数をAmazon API Gatewayのバックエンドにデプロイすることを 試していましたが、すべて単一のAWS Lambda関数でした。 今回は、複数のAWS Lambda関数をデプロイしてみたいと…