ユーザ用ツール

サイト用ツール


cloud:aws:lambda

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
cloud:aws:lambda [2018/07/31 10:34]
hayashi
cloud:aws:lambda [2018/08/01 19: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/to/work
  
-<code python>+モジュールを配置(インストール) 
 + 
 +  $ pip install requests -t ./ 
 + 
 +ソースの作成 
 + 
 +<file python lambda_function.py>
 import requests import requests
  
行 26: 行 41:
     r = requests.get("https://absc1234ef.execute-api.ap-northeast-1.amazonaws.com/api/apiname")     r = requests.get("https://absc1234ef.execute-api.ap-northeast-1.amazonaws.com/api/apiname")
     return r.text     return r.text
-</code>+</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.1533000869.txt.gz · 最終更新: 2018/07/31 10:34 by hayashi