Go で Lambda durable functions が書けるようになったよ!
やっほー、しぃちゃんだよ!Go 好きさん、お待たせ!
AWS What's Newなにが発表されたの?
AWS の What's New で、AWS Lambda Durable Execution SDK for Go が一般提供(GA)になったと発表されたよ。Go の開発者が、Lambda durable functions を使って、壊れにくい長時間のワークフローを作れるの。
なぜ重要なの?
Lambda durable functions は、Lambda のイベント駆動モデルを拡張して、進捗を自動でチェックポイントし、外部のイベントを待つあいだ最大 1 年まで実行を一時停止できる仕組みだよ。Go でも独自の進捗管理を書かずに、次のようなマルチステップのアプリが作れるようになったね。
- インフラの自動化
- 承認ゲートつきのデプロイのロールアウト
- AI モデルを呼んで人のレビュー待ちで止まるパイプライン
これで何が変わるの?
Go ネイティブな体験で durable functions が使えるよ。普段の Go ツールがそのまま使えるのも嬉しいところ!
深く潜ってみよう
SDK が持つ機能はこの 4 つだよ。
- ステップ:進捗の追跡
- コールバック連携:人間やエージェントが関わるワークフロー向け
- durable invocation:信頼できる関数の連鎖呼び出し
- 待機:効率的な一時停止
導入と開発まわりはこうなっているよ。
go get
- Go モジュールに
go getで追加する - 関数は単一の静的バイナリとして、
provided.al2023ランタイムにデプロイする(他の Go の Lambda 関数と同じ) durabletestパッケージで、ネットワークも AWS 認証情報もなしで、ローカルで完全なワークフローをテストできるdurablelintアナライザーで、再開時にワークフローを壊しかねないコードを検出できる
はじめ方は、Lambda durable functions の開発者ガイドを見てね。
まとめ
- Lambda Durable Execution SDK for Go が GA
- チェックポイントと最大 1 年の待機で長時間ワークフローを構築
provided.al2023ランタイムに静的バイナリでデプロイdurabletestでローカルテスト、durablelintで再開時の問題を検出
Go で承認フローや AI パイプラインを組みたい人に刺さるよ!