第2世代移行中に発覚!onValueWrittenが東京リージョンで使えなかった話

こんにちは。
株式会社エス・スリーのスタッフです。

最近、Firebase Functionsを第1世代から第2世代へ移行する作業を進めています。Firestoreが主流になった今、Realtime Databaseはあまり使われないかもしれませんが、私のプロジェクトでは一部の機能にまだ依存しており、そこも含めて移行対象にしていました。

その中で、もともと第1世代で使っていたonCreateを第2世代へ移行しようとしていた時。ほかの関数と同様、東京リージョン(asia-northeast1)で指定してデプロイ。

ところが、ここで思わぬエラー。

The request was invalid: generic::invalid_argument: cannot create a trigger in region asia-northeast1 (not yet revealed)

調べてみると、onValueWritten は東京リージョンではまだサポートされていないとのこと。
公式情報などは見つからないのですが、どなたがご存じでしたらコメントで教えてください。

第2世代に移行すればいいだけだろう、と思い込んでいた私にとって、これは盲点でした。
結局、onCreate関数は第1世代のまま運用することとしましたが、移行作業の最中にこうした制約があると、思わぬ手戻りが発生します。

この経験から言えるのは、「新しい構文や便利な関数も、リージョンによっては使えないことがある」ということ。
特に日本の開発者にとっては、東京リージョンでのサポート状況を事前にチェックする習慣が大切です。

第2世代への移行は確かにメリットも多いですが、細かい罠も潜んでいます。先に移行した誰かのつまずきをシェアしておくことも、次の誰かの助けになるかもしれません。

最後までご覧いただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次