Google Apps ScriptでRESOURCE_EXHAUSTEDエラー発生中
今日のいつからか、Google Apps Script界隈で、何やらエラーが発生して動かないという現象が報告されております。一方で自分のプロジェクトは何の問題もなく動いていたので、オカシイなと思い調査してみました。以前も、ウェブアプリが開けなくなる現象があったりして、結構復旧まで時間が掛かっていた記憶があります。
※2022年9月10日、この障害は治ってるようです。
発生してる現象
新規にスプレッドシートを作成し、極めて単純なスクリプトだけ書いて実行してみた所、たしかに以下のようなエラーがコンソールに表示されました。原因は不明ですが、Google側の問題と思われます。エラーコード的には、429エラー Too Many Requestという事になるみたい。
「エラー Cloud Platform プロジェクトの作成中に予期しないエラーが発生しました。エラーコード: RESOURCE_EXHAUSTED」
図:何やら怪しいエラーが発生してる
解決策
なぜ自分のプロジェクトが動いてるか?というと、自分の場合メインのプログラムは全て、GCPに用意してあるプロジェクトに手動で紐付けを行っています。そして、この場合、同じ新規プロジェクトでも何ら問題なく動作しています(ウェブアプリのデプロイも問題なく稼働)
移動手順は以下の通り。予め、GCP側にプロジェクトを用意しておく必要があります。そして、多分推察するに作成済みプロジェクトならば動かせるけれど、新規にプロジェクトが作れないという事のようで、ならば予めGCPに用意してあったならば、同じく作成済みということで動くという理屈のようです。
- スクリプトエディタを開く
- 左サイドバーのプロジェクトの設定を開く
- 「Google Cloud Platform(GCP)プロジェクト」の場所まで移動
- Cloud Consoleを開く
- 左上の▼をクリックして、紐つけたいプロジェクトを選ぶ
- プロジェクト番号というのが表示されてるハズなので、これをコピー
- スクリプトエディタに戻ってきて、プロジェクトを変更をクリック
- 6.でコピーした番号をGCPのプロジェクト番号欄に入力
- プロジェクトを設定をクリックして完了
これで動作するようになります。昔は、自動的にGCP側にプロジェクトが作られていたのですが、現在は作られずまた紐付けも見えないようになっているようで、このように手動で連結する機会が減りましたが、覚えておくと良いでしょう。
但し、今回のこの変更だと1つ作ったプロジェクトに集約するので、クォータについてプロジェクト毎のカウントだったので問題なかったものが、集約されることで、クォータに引っ掛かる可能性があります。そこだけは注意しましょう(何個も無限にプロジェクトは作れるわけではないので)。
※表示にもあるように、一度紐付けすると解除はできないので注意(Apps Script で管理するプロジェクトに戻すことができなくなりますと記載があります)。といってもまぁ、コピーしたものは紐付けられてない状態になるのですが・・・
図:GCP側の設定
図:プロジェクトの移動が必要