【GAS】getValuesで取得できる最大の行数に制限がある?Logging output too large. Truncating output.(Google App Script, スプレッドシート)

スプレッドシート・スプシspreadsheet GAS-prograshi(プロぐらし)-kv SpreadSheet
記事内に広告が含まれていることがあります。

GASでgetValuesを使用してデータを取得したときに、ログにLogging output too large. Truncating output.と表示され、想定しているデータよりも少ない量のデータのみがログに表示されることがあります。

getValuesで取得できるデータ数に上限があるか?という話です。


結論:データ制限はない

結論から言うと、getValuesで取得できるデータ量に制限はありません。

制限として設けられているのはGASの実行時間の最大が6分ということです。この時間内に処理が終わるのであれば、getValuesで大量のデータを取得しようとしても問題なさそうです。

(参考)Google App Script 無料版と有料版の制限の違い


Logging output too large. Truncating outputとは何か?

Logging output too large. Truncating output.は単に「ログに出力するには長すぎます。出力の一部を切り詰めます」という意味です。

実際のデータを切り詰めるわけではわりません。

「truncate」はあまり見慣れない英語ですが、文字を切り詰める、数字を切り捨てるといった意味です。読みは「トランケット(trʌ́ŋkeit)」です、


確認するには?

データが本当にあるかどうかを確かめたければforEachなどを使って、getValuesで取得したデータの中身を1つ1つ確認してみるといいでしょう。

参考にコードを載せておきます。

  //getValuesでデータを取得
  let judgeVals = sheet.getRange( 1, judgeCol, targetEndRow - targetStartRow, 1 ).getValues(); 

  console.log(judgeVals); //ログの出力は途中で切れます

  //forEachで取得したデータの中身を確認
  judgeVals.forEach( ( x, index ) => {  
      console.log(index, x);
  }


きちんとデータが取得できているのに処理が上手くいかないとなれば、処理の記述が間違えています。デバッグしてみましょう。



タイトルとURLをコピーしました