【GAS】覚えておきたい制限・上限まとめ
Google Apps Script(GAS)は業務効率化に役立つ無料ツールとして有用ですが、無制限に使えるわけではなく利用にあたって様々な制限事項があります。
例えば、スクレイピング対象のURL数が多く実行時間制限でエラーになってしまったり、それを回避しようとして分割してトリガーを設定していたらトリガーの実行回数制限に引っかかってしまうといった経験をしたことがある方も多いのではないでしょうか。
これらの制限にかかることなくスクリプトを実行できるように、予めどのような制限があるか理解して、制限にかからないように処理設計を行うことが重要です。
この記事では、GASにおける基本的な制限を解説します。記事の最後に表形式で制限をまとめているので参考にしてみてください。
すべての制限を確認したい方はこちら(公式サイト)をご覧ください。
GASの主な制限・上限
GASには大きく分けると下記のような制限があります。
- 実行時間/実行回数制限
- トリガーの制限
- 各アプリケーションごとの制限
それでは各項目ごとの制限を見ていきましょう。
実行時間制限
GASスクリプト実行時間(6分/1回)
GASでは、1スクリプトの実行時間が6分間という制限があります。経験上、制約の中で引っかかってしまうエラーの大半はこちらの制限です。
6分以上になるとタイムアウトエラーが発生してしまい、処理の途中であろうと強制的に終了するので、処理時間が長いコーディングはなるべく避ける必要があるので注意しましょう。
スクリプトの実行時間は工夫次第で劇的に短縮することが可能で、例えば、データ処理時に配列を活用して実行に時間がかかるアプリケーションの呼び出し回数を減らすといった工夫ができます。詳細は下記の記事でも解説しているので是非ご覧ください。
GASの効率的な処理で重要な役割を果たす配列の操作方法は、下記の記事で詳細に解説しています。
関数の実行時間(30秒/1回)
スクリプト内で作成している関数の実行時間は1回あたり30秒に制限されています。
対象 | 無料アカウント | Google Workspace |
---|---|---|
スクリプトの実行時間 | 6 分 / 実行 | 6 分 / 実行 |
カスタム関数の実行時間 | 30 秒 / 実行 | 30 秒 / 実行 |
同時実行数 | 30 / ユーザー | 30 / ユーザー |
トリガー制限
処理の自動化のために時間等でトリガーを設定することも多いかと思いますが、このトリガーにも制限があります。
対象 | 無料アカウント | Google Workspace |
---|---|---|
トリガーの総実行時間 | 90 分 / 日 | 6 時間 / 日 |
トリガー数 | 20 / ユーザー / スクリプト | 20 / ユーザー / スクリプト |
各アプリケーションの制限
実行時間やトリガー数等はGAS実行環境全体にかかる制約でしたが、スプレッドシートやGmail等のアプリケーションと連動して処理を実行する際、取り扱うアプリケーションにも制約があることも念頭に置いておく必要があります。代表的な制限を簡易的にご紹介します。
UrlFetchApp
スクレイピング、サイト分析を行うために記述するのがUrlFetchAppクラスのfetchメソッドです。
- URL Fetchレスポンスのサイズ(50MB/1コール)
- URL Fetchのコール回数(20,000回/1日)
UrlFetchAppの基本的な使い方やUrlFetchAppを使ったスクレイピング方法は下記の記事で紹介しています。
対象 | 無料アカウント | Google Workspace |
---|---|---|
URL Fetchのコール数 | 20,000 / 日 | 100,000 / 日 |
URL Fetchのレスポンスサイズ | 50 MB / コール | 50 MB / コール |
URL Fetchのヘッダー数 | 100 / コール | 100 / コール |
URL Fetchのヘッダーサイズ | 8 KB / コール | 8 KB / コール |
URL Fetch POSTのサイズ | 50 MB / コール | 50 MB / コール |
URL Fetch URLの長さ | 2 KB / コール | 2 KB / コール |
Gmailの制限
Gmailスレッドの取得や送信等の処理を行えるGmailAppにも制限があります。
- メール受信者数 100/日
- メール読み書き 200,000/日
- メール受信者数 50/msg
- メール本文サイズ 200kB/msg
- 添付ファイル 250/msg
対象 | 無料アカウント | Google Workspace |
---|---|---|
メール添付 | 250 / メッセージ | 250 / メッセージ |
メール添付メールの本文サイズ | 200 KB / メッセージ | 400 KB / メッセージ |
メール受信者数 | 50 / メッセージ | 50 / メッセージ |
メール添付のサイズ | 25 MB / メッセージ | 25 MB / メッセージ |
メール受信者数 | 100* / 日 | 1,500* / 日 |
メールの閲覧・作成 | 20,000 / 日 | 50,000 / 日 |
その他の制限
対象 | 無料アカウント | Google Workspace |
---|---|---|
カレンダーイベントの作成数 | 5,000 / 日 | 10,000 / 日 |
コンタクトの作成数 | 1,000 / 日 | 2,000 / 日 |
文書の作成数 | 250 / 日 | 1,500 / 日 |
ファイルの作成数 | 2,000 / 日 | 4,000 / 日 |
一つのドメイン内でのEメール受信者 | 100* / 日 | 2,000 / 日 |
プレゼンテーションの作成数 | 250 / 日 | 1,500 / 日 |
プロパティの閲覧・作成 | 50,000 / 日 | 500,000 / 日 |
スライドの作成数 | 250 / 日 | 1,500 / 日 |
スプレッドシートの作成数 | 250 / 日 | 3,200 / 日 |
翻訳のコール | 5,000 / 日 | 20,000 / 日 |
Apps Scriptプロジェクトの作成 | 50 / 日 | 50 / 日 |
プロパティ値のサイズ | 9 KB / 値 | 9 KB / 値 |
プロパティの総サイズ | 500 KB / プロパティストア | 500 KB / プロパティストア |
GASの制限は有料版でもなくならない
課金すれば制限を解除できるのかと疑問を持つかもしれませんが、GASの制限は有料版でも消えません。
無料のGoogleアカウントではなく、アップグレードした有料のGoogle WorkspaceでもGASは使えますが、制限は健在です。
まとめ
GASは、無料で利用ができ、かつスプレッドシートデータを処理できたり用途も広いためる、非常に便利なツールです。今回紹介したような実行にあたっての制限を理解して、より良い業務効率化を図っていきましょう。