ユーザ用ツール

サイト用ツール


cloud:aws:lambda

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
cloud:aws:lambda [2018/07/31 10:26]
hayashi 作成
cloud:aws:lambda [2018/08/01 19: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/to/work
 +
 +モジュールを配置(インストール)
 +
 +  $ pip install requests -t ./
 +
 +ソースの作成
 +
 +<file python 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
 +</file>
 +
 +
 +モジュールを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|}}
  
cloud/aws/lambda.1533000376.txt.gz · 最終更新: 2018/07/31 10:26 by hayashi