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