困った内容
開発環境とは別に本番環境を作成しようとしました。先にリソースロケーションを決めてしまおうと思い、下記から asia-northeast1 を選択。その後、HostingやFunctionsで、始めるをクリックしつつ、ReactをデプロイしてApplicationを構築しました。
構築後、Reactから、Cloud Storage for Firebase にSDK経由で画像をアップロードしようとしたところ、SDK上でエラー(404)が発生して、アップロードできませんでした。
結局、新たにプロジェクトを再作成し、Storageを始めるを押して、その際にリソースロケーションを選択し、再構築しました。
原因と思われること。
エラーが発生したプロジェクトでは、
@gcp-sa-firebasestorage.iam.gserviceaccount.com
という「Cloud Storage for Firebase サービス エージェント (Cloud Storage for Firebase Service Agent)」 というロールの、サービスアカウントが見つかりませんでした。
基本的に、Firebaseのサービスでは「始める」を押した際に、対応するサービスアカウントが作成されているように見えます。
デフォルトのGCPリソースロケーションを先に設定すると、その時に他のサービスはStorageだけは一緒に作成されている様子です。しかし、Storageのための上記のサービスアカウントは作成されないようです。
さらに、Storageのページでも、「始める」ボタンも表示されなくなってしまうので、Firebase経由で、サービスアカウントを新たに作成することができません。
GCPのコンソールからも、サービスアカウントを作成することは自分はできなかったので、新たにプロジェクトを再作成する道を選びました。
参考
Google Cloud Storage を使用して Firebase プロジェクトを作成する際に、対応するサービス アカウント(service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com.)がプロジェクトですでに使用可能になっている場合があります。
(「可能になっている場合があります。」と言われても..)