cloud:aws:lambda
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
cloud:aws:lambda [2018/07/31 01:26] – 作成 hayashi | cloud:aws:lambda [2018/08/01 10:58] (現在) – hayashi | ||
---|---|---|---|
行 1: | 行 1: | ||
====== lambda+dynamoDB ====== | ====== lambda+dynamoDB ====== | ||
+ | |||
+ | ===== tips ===== | ||
+ | ==== 定期的に叩く ==== | ||
+ | |||
+ | lambda はアクセスの際にロード、展開された後に実行されるため初回実行が遅くなる。 | ||
+ | これを回避したい場合の策。 | ||
+ | Cronで行っても良いが、そのためにサーバを立てたくないので、定期実行もlambdaで行う。 | ||
+ | |||
+ | 他にもlambdaの自動実行がした良い場合は同様の手順で可能になる。 | ||
+ | |||
+ | 今回lambdaの関数はPythonで作成し、APIGatewayをrequestで叩くものする。 | ||
+ | |||
+ | === 手順 === | ||
+ | - lambdaアップロード用zipの準備 | ||
+ | - 作業用フォルダにモジュールの配置 | ||
+ | - ソース作成 | ||
+ | - zip | ||
+ | - アップロード | ||
+ | - テスト | ||
+ | - 定期実行の設定 | ||
+ | - cloudwatch eventの追加 | ||
+ | - 設定 | ||
+ | |||
+ | === lambdaアップロード用zipの準備 === | ||
+ | 作業用フォルダに移動 | ||
+ | |||
+ | $ cd path/ | ||
+ | |||
+ | モジュールを配置(インストール) | ||
+ | |||
+ | $ pip install requests -t ./ | ||
+ | |||
+ | ソースの作成 | ||
+ | |||
+ | <file python lambda_function.py> | ||
+ | import requests | ||
+ | |||
+ | def lambda_handler(event, | ||
+ | # | ||
+ | r = requests.get(" | ||
+ | return r.text | ||
+ | </ | ||
+ | |||
+ | |||
+ | モジュールをlambdaに登録する必要があるのでローカルに準備しzipで固める。 | ||
+ | |||
+ | $ zip -r upload.zip * | ||
+ | |||
+ | === アップロード === | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | === テスト === | ||
+ | |||
+ | |||
+ | テストボタンを押して、想定したレスポンスが帰ってくればOK。 | ||
+ | |||
+ | === 定期実行の設定 === | ||
+ | == cloudwatch eventの追加 == | ||
+ | |||
+ | トリガーにCloudWatch Eventsを追加します | ||
+ | |||
+ | {{: | ||
+ | |||
+ | == 設定 == | ||
+ | |||
+ | {{: | ||
cloud/aws/lambda.1533000376.txt.gz · 最終更新: 2018/07/31 01:26 by hayashi