Google Apps Scriptの無料制限メモ
Google Apps Scriptの無料制限のメモ. 以下のページにまとめられている.
Quotas for Google Services | Apps Script | Google Developers
制限一覧
操作 | 一般ユーザー(gmail.com) |
---|---|
カレンダーの予定の作成 | 5000 個/日 |
連絡先の作成 | 1000 個/日 |
ドキュメントの作成 | 250 個/日 |
1 日あたりのメール受信者 | 100 個/日 |
Gmail の読み取りと書き込み(送信以外) | 20000 個/日 |
グループの読み取り | 2000 個/日 |
JDBC 接続 | 10000 個/日 |
JDBC 接続の失敗 | 100 個/日 |
プレゼンテーションの作成 | 250 個/日 |
プロパティの取得または設定 | 50000 個/日 |
SOAP の呼び出し | 5000 個/日 |
スプレッドシートの作成 | 250 個/日 |
トリガーの合計実行時間 | 1 時間/日 |
URLFetch の呼び出し | 20000 個/日 |
URLFetch のデータの受信 | 100 MB/日 |
ここで,ネックになりやすいのは, URLFetch関連とトリガーの合計実行時間になると思うので個別にまとめる.
URL Fetch関連
URL Fetchでは,HTTP Requestの操作ができる.つまり,スクレイピングができる.
呼び出し回数の制限: 無料アカウントでは,URLFetch の呼び出し回数が決まっており,20000 個/日となっている.なので,1日あたりHTMLを20000ページまでアクセスできる.
データ容量の制限: 1日あたり100MBまでとなっている.なので,もし上限20000ページまでアクセスするならば,平均100MB/20000 = 0.005MB = 5kB以下にしなければならない.
各ページに対しての平均容量の上限を計算すると,
1日にアクセスするページ | 平均容量の上限 |
---|---|
5 | 20[MB] |
10 | 10[MB] |
50 | 2[MB] |
100 | 1[MB] |
500 | 200[kB] |
1000 | 100[kB] |
5000 | 20[kB] |
10000 | 10[kB] |
15000 | 6.67[kB] |
20000 | 5[kB] |
トリガーの合計実行時間
Google Apps Scriptではトリガーを設定して,cronのように1分おき・10分おきなどに起動できる.
しかし,制限により,トリガーでのGoogle Apps Scriptの1日の実行時間は1時間と決まっている.1時間を超えた場合,その日のトリガーでの起動は無くなる.
例えば,1時間に1回起動するならば, 平均実行時間は60[分]/24[回/日]=2.5[分/回]以内にしなければならない.
このことを踏まえて,トリガー時間に対しての平均実行時間の上限を計算してみる.
トリガー間隔 | 1回あたりの平均実行時間の上限 |
---|---|
1分おきに1回 | 2.5[s] |
5分 | 12.5[s] |
10分 | 25[s] |
15分 | 37.5[s] |
30分 | 1.25[分] |
1h | 2.5[分] |
6h | 15[分] |
12h | 30[分] |
1日(24h) | 1[h] |
スクレイピングにおいて設定しそうな10分おきのトリガーを設定した場合, 1回あたりの実行時間を25[s]以内にしなければならないので注意.
実行時間の確認
スクリプトエディタから「表示 > 実行トランスクリプト」から実行すると, ループなどの処理ごとの実行時間を確認できる.