こんばんは、cloudpack の @dz_ こと大平かづみです。
AWS Lambda は、コードさえ書けば、あとはイベントとの連携を設定することで、指定したいイベントを契機にそのコードを実行する仕組みを提供してくれます。コードが動作する環境は、AWS Lambda が管理してくれるので、冗長化やスケーリングはお任せして、コードに集中できるサービスなのです。
それでは、AWS Lambda をいち早く使えるように、準備を進めましょう!
まずは、AWS Lambda ディベロッパーガイド をチェック!
AWS Lambda を扱うときに、大事なポイントは以下の3つのようです。
この記事では、導入の流れと、主にモデルについて読み進めます。
AWS Lambda にはじめて触れるあなたへ(意訳) の手順を確認しました。
さらに学ぶには、以下のトピックも参照するとよいそうです。
私は製品詳細ページは目を通したので、AWS Lambda: 動作の仕組みを読んでみます。
AWS Lambda can execute your custom code, also referred as a “Lambda function,” in response to events in other AWS services or events generated by user applications.
AWS Lambda は、"Lambda funciton" として、あなたがカスタムしたコードを実行できます。他のAWSサービスで発生したイベントやユーザアプリケーションが生成したイベントへの応答が契機です。
AWS Lambda を利用するユースケースとして、以下の2つのモデルが紹介されています。
モデル分類 | ユースケース |
---|---|
pushモデル | Amazon S3 でバケット通知を AWS Lambda へ向けて設定して、コードを実行する |
ユーザのアプリケーションから AWS Lambda へ向けてイベントを発行し、コードを実行する | |
pullモデル | あなたのアプリケーションからストリーム(Amazon DynamoDBストリーム、Kinesisストリームなど) へイベントを発行し、AWS Lambdaはそのストリームからイベントを取り出し、コードを実行する |
In both these cases, you must grant Amazon S3 or the custom application permission to invoke a function on your behalf. You do this by creating an invocation role, discussed in the following section.
(2つのユースケース図のについて)これらのケースでは、あなたは Amazon S3、またはカスタムアプリケーションに、ファンクションを実行するパーミッションを与える必要があります。これは、invocation role を作ることにより行えます。(後述のセクションで話します。)
The “push” model is an unordered model. That is, the order in which Lambda processes events is undeterministic.
“push”モデルは、順序がないモデルです。すなわち、Lambda の処理における順序は、決まっていません。
This is also referred as the “pull model” where AWS Lambda pulls the updates from the stream and invokes your function. In this case, you must grant permission to both pull from the stream (invocationrole) and execute (executionrole). The IAM roles are further explained in the following sections.
これは、pullモデルと呼んでおり、 AWS Lambda は、その更新をストリームから引っ張ってきて、あなたのファンクションを実行します。この場合、ストリーム側 (invocation role) と、実行側 (excution role) の両方のパーミッションが必要です。この IAMロールについては後述のセクションで説明します。
The “pull” model is an ordered model. That is, Lambda processes events in order they are published to the stream. For example, the order in which Amazon DynamoDB publishes updates to the stream is the same order in which Lambda processes the events.
“pull”モデルは、順序が保証されるモデルです。すなわち、 AWS Lambda は、イベントを、ストリームへ発行された順番で処理します。例えば、Amazon DynamoDB はストリームへ更新を発行した順序と、AWS Lambda が処理するイベントの順序は同じになります。
ここまで学習して、思ったより、AWS Lambda: 動作の仕組みのボリュームが多いことに気づき、モデルまででいったん休憩です。(苦笑)
引き続き、私は Component: Lambda Function を読み進めますっ (o’ω’)ノ
はじめまして、cloudpackサイトや、この技術ブログの運営を担当しています。 入社前は組込みプログラマ→webフロントエンド担当→現在cloudpack にて、新たな場をいただき励んでおります! 最近は翻訳の練習中です。 どうぞ、よろしくお願いします!