Google Apps Script Event Objects
Simple triggers and installable triggers let Apps Script run a function automatically if a certain event occurs.
ということで、この2つの違いを理解することが必要。
https://gyazo.com/d12ed0dd254c74d5774b96d73a2c3e60
spreadsheetに関してだと、
Simple Triggersである、onOpen, onEdit
ただ、onEditは使いどころが難しい。
処理のqueueが2つまでなので、処理が遅くなったとき(よくある)に、queueに入れてくれない場合がありえるし、不可避
Installable Triggersである、onChange
callback関数を自分で登録する必要がある。
ScriptApp.newTrigger("func_name").....
callback関数の引数であるeventオブジェクト
onEdit(値の変更に対応)
rangeなどの情報が取れる。
onChange(行・列の追加・削除やシートの追加・削除)
event Typeが取れるのが利点。
EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT, or OTHER
log形式みたいなもので、行が追加されていく場合に良いかも。pivotの範囲の取り直しとか?
あとは、openと formSubmit は、名前通り
イベントオブジェクトだけじゃないけど、console関数で、 logがstackdriverに送られるので、それで動作をチェックできる。 Loger.logでもできるが、、Installable のものはできないかも... その場合は、console.log,infoなどで stackdriverへ。
Quotas
Simple triggers are subject to Apps Script trigger quota limits.
Installable triggers are subject to Apps Script trigger quota limits.
なので、
Triggers total runtime
gmailユーザーで90mins, G Suiteユーザーで 6hours. per day.
1/18, 1/4 の実行時間。
数秒で終わるものなら、1分間隔でも大丈夫だが、、1ユーザーで、いろいろやってると、、
APIで、実行時間が取れるので、これで数字を把握できるかも。