Cloud Firestore リソースを検索して管理するには、メタデータを保存、管理、アクセスするためのプラットフォームである Knowledge Catalog を使用します。Knowledge Catalog を使用して Cloud Firestore メタデータを分析し、次のようなタスクを支援できます。
- 分析(依存関係やユースケースへの適合性など)
- チェンジ マネジメント
- スキーマ進化
Knowledge Catalog は、新規および既存の Cloud Firestore データベースでデフォルトで有効になっており、次のメタデータを自動的に取得します。
| リソース | タイプ | フィールド |
|---|---|---|
| データベース | コントロール プレーン |
|
| データベース スキーマ | データプレーン |
|
始める前に
Cloud Firestore で Knowledge Catalog の分析情報を使用するには、まず Cloud Firestore データベースが必要です。詳細については、データベースを作成して管理するをご覧ください。
検索結果にアクセスするために必要なロール
Knowledge Catalog で Cloud Firestore メタデータを検索して表示するには、プリンシパルに dataplex.projects.search 権限を含む Cloud Firestore リソースを表示する権限が必要です。
プリンシパル(ユーザー、グループ、サービス アカウントなど)にこれらの権限を付与するには、Cloud Firestore リソースを含むプロジェクトに対する Cloud Datastore 閲覧者(roles/datastore.viewer)IAM ロールを割り当てます。
| Knowledge Catalog オペレーション | Cloud Firestore 個のリソース | 必要なロールまたは権限 |
|---|---|---|
| Cloud Firestore リソースを検索する | データベース | datastore.databases.getMetadata |
| データベース スキーマ | datastore.schemas.get |
ロールの付与の詳細については、アクセス権の管理をご覧ください。Cloud Firestore IAM ロールの詳細については、Cloud Firestore のロールと権限をご覧ください。
エントリの検索に必要なロール
エントリを検索するには、検索に使用するプロジェクトに対する次の IAM ロールが 1 つ以上必要です。
- Dataplex Catalog 管理者(
roles/dataplex.catalogAdmin) - Dataplex Catalog 編集者(
roles/dataplex.catalogEditor) - Dataplex Catalog 閲覧者(
roles/dataplex.catalogViewer)
検索結果に対する権限は、選択したプロジェクトにかかわらずチェックされます。詳細については、Knowledge Catalog でデータアセットを検索するをご覧ください。
メタデータ検出の種類
Knowledge Catalog メタデータ検出は、Cloud Firestore などの接続されたデータソースをスキャンして、データアセット(コレクションやデータベースなど)を特定し、スキーマ、説明、ロケーションなどの技術的メタデータを Knowledge Catalog カタログに抽出する自動プロセスです。このプロセスは定期的に実行され、カタログとソースシステムの同期を維持します。
キーワード検索と自然言語検索
Knowledge Catalog は、キーワード検索と自然言語検索をサポートしています。
- キーワード検索では、特定のキーワード、フィルタ、定義された構文を使用してリソースを検索できます。たとえば、「
system=Firestore AND type=Database」と入力すると、すべての Cloud Firestore データベースが表示されます。 - 自然言語検索(プレビュー)は、AI を使用してセマンティック クエリを理解します。普段使う言葉でリソースを検索できるため、複雑な構文を使用する必要はありません。たとえば、「
List all Firestore databases related to sales」などのクエリを入力できます。
詳細については、Knowledge Catalog の検索構文をご覧ください。
例: Cloud Firestore コレクション グループ スキーマを検出する
メタデータ検出プロセスを理解するために、user-firestore-database という名前の Cloud Firestore データベースについて考えてみましょう。このデータベースには、user-schema という名前のコレクション グループ スキーマがあります。
検出が完了すると、Google Cloud コンソールの Knowledge Catalog ページまたは Knowledge Catalog API を使用して、これらのアセット(user-firestore-database と user-schema)を検索できます。アセットの詳細を表示し、ビジネス メタデータや運用メタデータを追加して拡充できます。
アスペクトを使用してメタデータを拡充する
アスペクト タイプは、アスペクトのテンプレートとして使用できる再利用可能なリソースです。アスペクト タイプを使用すると、作業の重複や不完全なアスペクトを回避できます。Knowledge Catalog を使用して、必要なアスペクト タイプを作成できます。
カスタム アスペクト タイプを作成したら、Cloud Firestore リソースにアスペクトを追加できます。リソースにアスペクトを追加すると、次の操作を行うことができます。
- アセットにビジネス メタデータを追加する。
- ビジネス メタデータやその他のカスタム メタデータでアセットを検索する。
アスペクト タイプの作成と Cloud Firestore へのアスペクトの追加の詳細については、アスペクトを管理してメタデータを拡充するをご覧ください。
Cloud Firestore アセットを検索する
Google Cloud コンソールの Knowledge Catalog 検索ページを使用して、Cloud Firestore アセットを検索します。
Knowledge Catalog の [検索] ページに移動します。
[フィルタ] パネルで [システム] をクリックし、[Firestore] を選択します。
省略可。[タイプ エイリアス] で、次のいずれかのタイプ エイリアスを選択すると、特定のタイプの Cloud Firestore アセットで検索結果をフィルタできます。
- データベース
- データベース スキーマ
- その他
クエリを使用してキーワード検索を行う
Knowledge Catalog の検索フィールドを使用して、キーワード検索クエリを実行できます。たとえば、system=Firestore AND type=Database と入力すると、すべての Cloud Firestore データベースが表示されます。
詳細については、Knowledge Catalog の検索構文をご覧ください。
すべての Cloud Firestore アセットを表示するには、system=Firestore と入力します。特定のキーワードを入力できます。たとえば、すべての Cloud Firestore データベースを表示するには:
system=Firestore AND type=Database
複雑な式では、かっこと、論理演算子(AND と OR)を使用することもできます。検索フィールドで使用できる式の詳細については、Knowledge Catalog の検索構文をご覧ください。
検索フィールドに、特定の Cloud Firestore アセットの検索クエリを直接入力できます。クエリ文字列の形式は次のとおりです。
type="projects/dataplex-types/locations/global/entryTypes/QUERY_STRING"
次のように置き換えます。
QUERY_STRING: 次のリストを使用して、クエリする Cloud Firestore アセットのタイプに応じたクエリ文字列を特定します。firestore-databasefirestore-schema
クエリの例を次に示します。
type="projects/1234567890/locations/global/entryTypes/firestore-schema"
アスペクト タイプで検索する
Knowledge Catalog には、検索に使用できる組み込みのアスペクト タイプがいくつかあります。
アスペクト タイプで検索する手順は次のとおりです。
- [アスペクト] パネルで、[アスペクト タイプを追加] メニューをクリックします。
- 「
Firestore」と入力し、次のアスペクト タイプを 1 つ以上選択して、検索結果をそのタイプに絞り込みます。- Cloud Firestore 個のデータベース
- Cloud Firestore スキーマ
- [OK] をクリックします。
- 結果のテーブルでアセットの名前をクリックすると、そのアセットのメタデータが表示されます。
- 省略可: アセットを拡充または表示します。次の操作を行うことができます。
- アセットのリッチテキストによる説明を追加するには、[概要] で [追加] をクリックします。
- アセットにアスペクトを追加するには、[アスペクト] で [追加] をクリックします。
- インスタンスのメンバー データベースを表示するには、[エントリリスト] タブをクリックし、[検索結果の子エントリをすべて表示] をクリックします。
- [エンティティの詳細] で、アセットの詳細を確認します。エントリ名をクリックして、他のエントリにドリルダウンします。
Cloud Firestore での自然言語検索
自然言語検索(プレビュー)は、AI を使用してセマンティック クエリを理解します。普段使う言葉でリソースを検索できるため、複雑な構文を使用する必要はありません。たとえば、「List all Firestore collections related to sales」などのクエリを入力できます。
詳細については、Knowledge Catalog の検索構文をご覧ください。
Cloud Firestore の構文検索
キーワード検索では、特定のキーワード、フィルタ、定義された構文を使用してリソースを検索できます。たとえば、「system=Firestore AND type=Database」と入力すると、すべての Cloud Firestore データベースが表示されます。
詳細については、Knowledge Catalog の検索構文をご覧ください。
ワークフローの例: データベースからスキーマにドリルダウンする
データベースからスキーマにドリルダウンする手順は次のとおりです。
Knowledge Catalog の [検索] ページに移動します。
[フィルタ] パネルで、[システム]、[Firestore] の順に選択します。または、検索フィールドに「
system=Firestore」と入力します。データベースを選択します。
[Firestore の詳細] ページで、[エントリリスト] タブをクリックし、[検索結果の子エントリをすべて表示] をクリックします。
[Firestore データベースの詳細] ページで、[エントリリスト] タブをクリックし、[検索結果の子エントリをすべて表示] をクリックします。Knowledge Catalog にデータベース内のコレクション グループが表示されます。
コレクション グループ名を選択し、[コレクション グループの詳細] ページで [スキーマ] をクリックしてスキーマを表示します。
省略可: データベースにアスペクト タイプを追加するには、[アスペクトを追加] ボタンをクリックします。
料金
Knowledge Catalog への Cloud Firestore テクニカル メタデータの保存は無料です。API 呼び出しと追加のビジネス メタデータの拡充には、Knowledge Catalog の標準の料金が適用されます。詳細については、Knowledge Catalog の料金ページをご覧ください。
制限事項
- 10,000 個のコレクション グループが取り込まれると、クエリ結果は切り捨てられます。
- バッチ取り込み中、データベースの更新が Knowledge Catalog に反映されるまでに最大 48 時間かかることがあります。
- ライブ インジェスト中、データベースの更新が Knowledge Catalog に反映されるまでに最大 5 分かかることがあります。
- ライブ インジェスト中にコレクション グループは更新されません。
- コレクション グループのスキーマはライブ取り込み中に更新されますが、この更新はアルファベット順の最初の 100 個のトップレベルのプリミティブ フィールドのみを対象とします。残りのスキーマ情報は、ライブ取り込みから 24 ~ 48 時間後に更新されます。
- 抽出プロセスには数分かかることがあります。