GoogleAppsScriptでよくはまる制約まとめ
無料のGoogleアカウントの制約をまとめます。
基本
項目 | 制約 |
---|---|
スクリプト実行時間 | 360秒 |
カスタム関数実行時間 | 30秒 |
同時実行 | 30 |
Logger.log関数の最大文字数 | 8,192文字 |
※スクリプト実行時間で6分(360秒)以上実行は、「実行を分割」+「実行内容を保持」で実現可能です。
「実行を分割」例:トリガーで複数回実行する
「実行内容を保持」例:プロパティストア/キャッシュ/スプレッドシート
※カスタム関数は、スプレッドシートのセル等で実行する関数です。
※Logger.log関数の最大文字数を越えた文字は、表示されません。
※1日単位の制約は、24時間毎にリセットされます。
リセットタイミングはユーザ毎で異なります。
※G Suiteなどの有料版では、制約がもう少しゆるくなります。
キャッシュ
項目 | 制約 |
---|---|
最大保存時間 | 6時間 |
キーの最大長 | 250文字 |
データの最大サイズ | 100KB |
※最大保存時間は、6時間(21600秒)です。
※データ最大量は、キー毎の最大量です。
※100KBは、半角文字で10万文字です。
プロパティストア
項目 | 制約 |
---|---|
プロパティ読み書き | 50,000/日 |
プロパティサイズ | 9KB |
プロパティ合計サイズ | 500KB |
※プロパティ合計サイズは、プロパティストア毎の制約です。
UrlFetch
項目 | 制約 |
---|---|
フェッチ回数 | 20,000/日 |
受信データサイズ | 50MB/call |
ヘッダー数 | 100/call |
ヘッダーサイズ | 8kB/call |
POSTサイズ | 50MB/call |
URLの長さ | 2kB/call |
トリガー
項目 | 制約 |
---|---|
トリガー登録数 | 20/日 |
トリガー実行時間の合計 | 90分/日 |
※トリガー実行時間の合計は、Utilities.sleepの時間を含みます。
※下記のウェブアプリで過去24時間のトリガー実行時間を確認できます。
GoogleAppsScriptの1日トリガー実行時間チェッカー
トリガー間隔毎の最大数
トリガー間隔 | 実行時間 | フェッチ回数 | メール読込 | プロパティ読書 |
---|---|---|---|---|
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 |
※プロパティ読み書きは、読み込みと書き込み両方行うと2回としてカウントされます。
Gmail
項目 | 制約 |
---|---|
メール受信者数 | 100/日 |
メール読み書き | 200,000/日 |
メール受信者数 | 50/msg |
メール本文サイズ | 200kB/msg |
添付ファイル | 250/msg |
添付ファイル合計サイズ | 25MB/msg |
※メール受信者数とは、宛先(TO/CC/BCC)の合計数です。
※GmailApp.search
関数で最大取得数を省略した場合、最大500件取得します。
ドライブ
項目 | 制約 |
---|---|
容量 | 15GB |
ファイルの変更回数 | 2,000回 |
※GoogleDoc(ドキュメントやスプレッドシートなど)は、容量の制約に含まれません。
そのため、GoogleDocのドキュメント形式であれば、無限にデータを保存できます。
GoogleDoc
項目 | 制約 |
---|---|
新規ドキュメントの作成 | 250/日 |
新規スプレッドシートの作成 | 250/日 |
新規プレゼンテーションの作成 | 250/日 |
ドキュメントの最大文字数 | 1,020,000文字 |
ドキュメントの最大サイズ | 50MB |
スプレッドシートの最大セル数 | 5,000,000セル |
スプレッドシートのセル最大文字数 | 50,000文字 |
※ドキュメントの最大文字数は、半角での文字数です。
※ドキュメントの最大サイズは、修飾を含むGoogleドキュメント形式でのサイズです。
※スプレッドシートの列数・行数の制約はありません。
※スプレッドシートの最大セル数は、1スプレッドシート単位(1シート単位ではない)
※スプレッドシートの最大セル数を超える前に、「ドキュメントを変更できません。サイズが大きすぎる可能性があります」エラーが発生することがあります。
スプレッドシートの最大シート数
スプレッドシートは、理論上5,000,000個のシートが作成可能です。ただし、通常のシート作成では、1,000行×26列=26,000セル
を消費するため、5,000,000÷26,000≒192シート
が最大シート数となります。
※空白のセル(列や行)を削除することで消費セル数を削減できます
その他
項目 | 制約 |
---|---|
Googleカレンダーイベントの作成 | 5,000/日 |
Google連絡先の作成 | 1,000/日 |
Googleグループの読み込み | 2,000/日 |
JDBCの接続数 | 10,000/日 |
JDBCの接続失敗数 | 100/日 |
※Googleグループとは、GroupsApp
で取得できるグループを指します。
※JDBCとは、Java Database Connectivity
の略でデータベースと接続するAPIです。
エラー
- 起動時間の最大値を超えました
- 1回の処理時間(360秒または30秒)を超えると発生する
- サービスで 1 日に使用しているコンピュータ時間が長すぎます
- 一日のトリガーでの実行時間の合計がランタイム全体のトリガー合計時間(90分)を超えると発生する
- メモリの上限を超えました
- 実行中のスクリプトが使用メモリ上限を超えると発生する
- ドキュメントを変更できません。サイズが大きすぎる可能性があります
- 巨大なドキュメントを操作しようとすると発生する
- 巨大なスプレッドシートなどを操作しようとすると発生する