====== lambda+dynamoDB ====== ===== tips ===== ==== 定期的に叩く ==== lambda はアクセスの際にロード、展開された後に実行されるため初回実行が遅くなる。 これを回避したい場合の策。 Cronで行っても良いが、そのためにサーバを立てたくないので、定期実行もlambdaで行う。 他にもlambdaの自動実行がした良い場合は同様の手順で可能になる。 今回lambdaの関数はPythonで作成し、APIGatewayをrequestで叩くものする。 === 手順 === - lambdaアップロード用zipの準備 - 作業用フォルダにモジュールの配置 - ソース作成 - zip - アップロード - テスト - 定期実行の設定 - cloudwatch eventの追加 - 設定 === lambdaアップロード用zipの準備 === 作業用フォルダに移動 $ cd path/to/work モジュールを配置(インストール) $ pip install requests -t ./ ソースの作成 import requests def lambda_handler(event, context): # r = requests.get("https://absc1234ef.execute-api.ap-northeast-1.amazonaws.com/api/apiname") return r.text モジュールをlambdaに登録する必要があるのでローカルに準備しzipで固める。 $ zip -r upload.zip * === アップロード === {{:cloud:aws:スクリーンショット_2018-07-31_11.15.31.png?400|}} === テスト === テストボタンを押して、想定したレスポンスが帰ってくればOK。 === 定期実行の設定 === == cloudwatch eventの追加 == トリガーにCloudWatch Eventsを追加します {{:cloud:aws:スクリーンショット_2018-08-01_19.54.54.png?400|}} == 設定 == {{:cloud:aws:lambda:スクリーンショット_2018-08-01_19.57.46.png?400|}}