Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

AWS Lambda のバージョン毎に別の Kinesis をセットする方法

さいしょに

AWS Lambda のバージョンごとに紐付ける Kinesis Stream を切り替える方法について。

やりたいこと

Kinesis Stream から取得したデータを Lambda で処理するようなシステムを想定。
以下の要件が、本投稿の内容で対応可能。

  • Lambda にバージョンを作成したい
    • Version $LATEST を開発環境として使用
    • Version 1, 2 などのバージョンを本番環境として使用
  • Lambda の開発環境と本番環境で接続する Kinesis を別にしたい

どうやるのか

まずは Lambda のバージョンをつくる

Actions > Publish new version を選択して、バージョン詳細を入力して Publish。

Lambda_Management_Console 2.png

下記のように Version 1 が作成される。同様の手順で Version 2 以降を作成することができる。

Lambda_Management_Console 3.png

あとは適宜 alias など設定しておくといいだろう。

各バージョン毎に Event source を設定する

Version $LATESTEvent source > Add event source から接続したい Kinesis を選択する。

Lambda_Management_Console 4.png

続けて、 Version 1Event source > Add event source から接続したい Kinesis を選択する。

Lambda_Management_Console 5.png

これで Lambda の各バージョン毎に違う Kinesis を接続することができた。

さいごに

全体設定に注意

Create a Lambda function > Select blueprintから Kinesis の blueprint から作成した場合など、対象 function 全体の Event source に Kinesis が紐付く場合がある。

この状態で各バージョンの Event source を設定しても、全体設定が優先されてしまうので注意。全体の方を削除すれば各バージョンの Event source が動作するようになる。

Lambda_Management_Console.png

alias 毎に Event source を設定する

同様に alias 毎に Kinesis を設定できる。(記事の主役にはしていないが)
バージョンごとだと Publish の度に付け替えが面倒なので、 alias 毎に設定をした方がいいだろう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?