Sunday, May 5, 2024
No menu items!
HomeCloud Computing1 つのプロジェクトで複数の Firestore データベースを管理

1 つのプロジェクトで複数の Firestore データベースを管理

※この投稿は米国時間 2023 年 7 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

このたび、Google Cloud の単一プロジェクトにおける複数 Firestore データベースのサポートを開始しましたので、お知らせいたします。1 つのプロジェクトに複数のデータベースを作成し、顧客データやマイクロサービス、開発 / テスト / ステージングの各種環境を隔離して管理できるようになりました。

この複数データベースのサポートには以下の機能が含まれます。

Firestore データベースの CRUD 管理: Firestore で新しい API エンドポイント、Terraform リソースgcloud CLI コマンド、Firebase CLI コマンドを使用して、1 つ以上の Firestore データベースを管理できるようになりました。

Identity and Access Management による条件付きアクセス制御: IAM Conditions または Firebase セキュリティ ルールを使用して、異なる Firestore データベースに異なるセキュリティ ポリシーを適用できるようになりました。

Firestore データベースの 2 つのモードをサポート: 同一プロジェクト内で新しいデータベースを Firestore の Native モードと Datastore モードのどちらでも作成できます。

すべての Firestore リージョンをサポート: 同一プロジェクト内で新しいデータベースを、サポートされているすべての Firestore リージョンに作成できます。

課金処理: データベースの費用を Cloud Billing と BigQuery を通じて個別にトラッキングできます。これによって、各データベースの使用に対する消費量の確認と予算の編成が容易になります。

Cloud Monitoring: Firestore の Cloud Monitoring 指標と統計情報がデータベース レベルで集約されました。

サンプルのチュートリアル

Firestore はお客様のアプリケーションでも高い利便性を発揮できるかもしれません。エンドツーエンドの例で、その仕組みご確認ください。

Firestore データベースを作成するには、データベースの識別子、モード、ロケーションを指定する必要があります。Firestore データベースには複数の作成方法があります。たとえば、gcloud CLI を使用して Firestore ネイティブ データベースを「test」という名前で us-west1 ロケーションに作成する場合は、以下のコマンドを使用します。

code_block[StructValue([(u’code’, u’$ gcloud firestore databases create –database=test –location=us-west1 –type=firestore-native’), (u’language’, u”), (u’caption’, <wagtail.wagtailcore.rich_text.RichText object at 0x3e1f6ae31410>)])]

データベースが作成されたら、Firestore / Datastore コンソールからアクセスできます。

Firestore データベースが不要になったら、次のコマンドを実行して削除できます。

code_block[StructValue([(u’code’, u’$ gcloud alpha firestore databases delete –database=test –location=nam5 –type=firestore-native’), (u’language’, u”), (u’caption’, <wagtail.wagtailcore.rich_text.RichText object at 0x3e1f6aced310>)])]

これを実行するだけで、あとは Firestore が自動的にデータの削除を完了します。

作成したデータベースで Firestore クライアント ライブラリを使用する場合は、適切な Firestore データベース インスタンスを取得できるようにデータベース名を指定します。データベース名を指定しない場合、クライアント ライブラリは元の(デフォルトの)データベースに基づきます。Java 対応の Firebase Admin SDK を使用して「test」という名前のデータベースを記述する例は、次のとおりです。

code_block[StructValue([(u’code’, u’// Firebase u30a2u30d7u30eau3092u521du671fu5316rnFirebaseApp app = FirebaseApp.getInstance();rn// u30c7u30fcu30bfu30d9u30fcu30b9 ID u304cu300ctestu300du306e Firestore u30c7u30fcu30bfu30d9u30fcu30b9u3092u521du671fu5316rnFirebaseFirestore db = FirebaseFirestore.getInstance(app, u201ctestu201d)rn// u30c9u30adu30e5u30e1u30f3u30c8 u30eau30d5u30a1u30ecu30f3u30b9rnDocumentReference docRef = db.collection(u201ccolu201d).document(u201cdocu201d);rn// u30c9u30adu30e5u30e1u30f3u30c8u3078u306eu66f8u304du8fbcu307frnwaitFor(docRef.set(Collections.singletonMap(u201cfoou201d, u201cbaru201d)));’), (u’language’, u”), (u’caption’, <wagtail.wagtailcore.rich_text.RichText object at 0x3e1f6aced3d0>)])]

他の言語を使用した例については、データベースへのアクセスをご覧ください。

次のステップ

Firestore での複数データベースの設定および構成方法について詳しくは、こちらのドキュメントをご覧ください。

– Firestore、ソフトウェア エンジニア Sichen Liu
– Firestore、シニア プロダクト マネージャー リード Minh Nguyen

Cloud BlogRead More

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments