LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2019年2月23日土曜日

AWS LambdaでAPI Gatewayのクエリパラメータを渡したい(GASでfetch)


Lambda Function とAPI Gateway を使ったことがない場合
AWS LambdaとAPI Gatewayを使ってみる



API Gatewayのendpointにブラウザからアクセスする方法は
AWS LambdaでAPI Gatewayのクエリパラメータを取得したい
に書きました。

ここではGoogle Apps Script の UrlFetchApp.fetch で endpoint + クエリパラメータにアクセスして、Lambdaからの戻り値をログに出してみます。

https://API_ID.execute-api.us-east-1.amazonaws.com/default/FUNCTION_NAME?key=value


Google Apps Script側のコード

コード.gs
function run() {
  var url = 'https://API_ID.execute-api.us-east-1.amazonaws.com/default/FUNCTION_NAME?key=value';
  var response = UrlFetchApp.fetch(url);
  Logger.log(response);
}

意訳
この機能がやること
API Gatewayのendpointにクエリパラメータをつけて
urlにアクセスしてデータを取得して
ログに出す




Lambda 側のコード

index.js
exports.handler = async (event) => {
    var  param = event['queryStringParameters'];
    var  response = {
        body: JSON.stringify(param),
    };
    return response;
};
意訳
この機能がやること
受け取ったeventからクエリパラメータを取得して
返すオブジェクトを作って
JSONに変換してbodyの値として

返す



実行結果

Google Apps Script側のログに以下のように出ます

 {"key":"value"}


関連記事

最新の投稿

マイドライブを指定してファイルを保存したい(DriveApp.getRootFolder())

以前書いた CSVデータを作ってGoogleドライブに保存する では、特定のフォルダを指定して保存しました。 ここでは「マイドライブ」に保存するコードを書きました。 save_as_csv()を実行すると マイドライブにvar dataで設定したデータが保存されて そのファイル...