目次

lambda+dynamoDB

tips

定期的に叩く

lambda はアクセスの際にロード、展開された後に実行されるため初回実行が遅くなる。
これを回避したい場合の策。
Cronで行っても良いが、そのためにサーバを立てたくないので、定期実行もlambdaで行う。

他にもlambdaの自動実行がした良い場合は同様の手順で可能になる。

今回lambdaの関数はPythonで作成し、APIGatewayをrequestで叩くものする。

手順

  1. lambdaアップロード用zipの準備
    1. 作業用フォルダにモジュールの配置
    2. ソース作成
    3. zip
  2. アップロード
  3. テスト
  4. 定期実行の設定
    1. cloudwatch eventの追加
    2. 設定

lambdaアップロード用zipの準備

作業用フォルダに移動

$ cd path/to/work

モジュールを配置(インストール)

$ pip install requests -t ./

ソースの作成

lambda_function.py
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 *

アップロード

テスト

テストボタンを押して、想定したレスポンスが帰ってくればOK。

定期実行の設定

cloudwatch eventの追加

トリガーにCloudWatch Eventsを追加します

設定