2019-03-17T07:33:28Z

GoogleAppsScriptでよくはまる制約まとめ

基本

項目 一般アカウント
スクリプト実行時間 360秒
カスタム関数実行時間 30秒
同時実行 30
ランタイム全体のトリガー 90分/日
トリガー登録 20/日
URLフェッチ 20,000/日
メールの読み書き 20,000/日
メール本文 200KB
プロパティ読み書き 50,000/日
プロパティサイズ 9KB
プロパティ全容量 500KB
Logger.log最大文字数 8,192文字

※カスタム関数は、スプレッドシートのセル等で実行する関数
※ランタイム全体のトリガーは、Utilities.sleepの時間を含む
※Logger.logで最大文字数を越えた文字は表示されない

トリガー間隔毎の最大数

トリガー間隔 平均実行時間 フェッチ回数 メール読込 プロパティ読書
1分間 3.75秒 13 13 34
5分間 18.75秒 69 69 173
10分間 37.50秒 138 138 347
15分間 56.25秒 208 208 520
30分間 112.50秒 416 416 1,042
1時間 3.75分 833 833 2,083
2時間 7.50分 1,666 1,666 4,166
4時間 15.00分 3,333 3,333 8,333
6時間 22.50分 5,000 5,000 12,500
8時間 30.00分 6,666 6,666 16,666
12時間 45.00分 10,000 10,000 25,000
24時間 90.00分 20,000 20,000 50,000

キャッシュ

項目 制約
最大保存時間 6時間
キー最大長 250文字
データ最大量 100KB

※最大保存時間は、6時間(21600秒)です
※データ最大量は、キー毎の最大量です
※100KBは、半角文字で10万文字

ドキュメント

項目 制約
文字数 1,020,000文字
サイズ 50MB

※文字数は半角での数字です
※サイズは、修飾等を考慮したGoogleドキュメント形式でのサイズ

スプレッドシート

項目 制約
最大セル数 5,000,000セル
セルの最大文字数 50,000文字

※最大セル数は、1スプレッドシート単位(1シート単位ではない)
※列数/行数の制約はない

エラー

  • 起動時間の最大値を超えました
    • 1回の処理時間(360秒または30秒)を超えると発生する
    • 処理を複数回に分割することで回避できます
  • サービスで 1 日に使用しているコンピュータ時間が長すぎます
    • 一日のトリガーでの実行時間の合計が90分を超えると発生する
    • スクリプトの高速化などを考慮する
  • メモリの上限を超えました
    • 一定のメモリ上限を超えると発生します
    • 明示的なメモリの開放などのプログラム上の工夫で考慮する
  • ドキュメントを変更できません。サイズが大きすぎる可能性があります。
    • 巨大なドキュメントを操作しようとすると発生する
    • 諦めて別ドキュメントに作り直すしか無い?

参考

関連記事

 コメントを書く