LoginSignup
2
2

More than 5 years have passed since last update.

GoogleAppsScriptをWebAPIとして公開したとき実行制限はあるのか?

Last updated at Posted at 2018-06-17

これはなにか

  • GoogleAppsScriptはWebAPIとして公開できる便利な機能がある
  • GoogleAppsScript内で使用するAPIには上限があったりするのだがWeb Appsについての記載は特に見つけられない
  • おそらく上限はないのだが、実際に外部公開用のサイトで利用するにあたって勘で使うのはちょっと怖い
  • ということで実験してみた

方法

  • スプレッドシートの中身をシンプルにJSONで返すAPIを想定
  • スプレッドシートの中身はとりあえず30×30くらいにした
  • このAPIに0.5秒おきに1000回RequestしてみてResponseをチェックする
    • 合計30分くらいかかる
  • コードはこんな感じです
function doGet(e){
  const res = getData()
  return ContentService.createTextOutput(JSON.stringify(res));
}

function getData(){
  const id = 'xxxxxxxxxx'
    , sheet = SpreadsheetApp.openById(id).getSheetByName(name)
    , sheet_data = sheet.getDataRange().getValues()
    , keys = sheet_data[0]
    , vals = sheet_data.slice(1)
    ;
  var datas = []
    , data 
    ;

  vals.forEach(function(v){
    data = {}
    keys.forEach(function(k, i){
        data[k] = v[i];
    })
    datas.push(data);
  })

  return datas;
}

結果

まず上限はありそうだったか?

30分間で1000回Request送る程度では問題なし

時系列でのResponseTimeの変動

image.png

ResponseTimeのHistgram

image.png

ムラはあるが大体1秒以内でResponseできている

まとめ

  • 大丈夫そう
  • もっとRequest回数を増やしてもやってみたい
    • GoogleにIPで制限されるのはちょっと怖いけど
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2