はじめに
2019/4に行われたGoogleNext@サンフランシスコで発表されたGoogle Cloud Platform
(以下GCP)の新サービスの一つにData Catalog
というものがあります。
これは何かというと「フルマネージドでスケラービリティの高いデータ検出およびメタデータ管理サービス」(公式より)で、もっとざっくりというとGCP
上のリソースを簡単に検索でき、またメタデータを付与して管理できるサービスです。
このDataCatalog
ですがConsole画面から使うとBigQuery
、Pub/Sub
などの異なるサービスのリソースを同一画面から簡単に検索できて便利なのですが、CLIやAPIから利用しようとするとあまり見慣れない用語がよく出てきて初めはとっつきにくかったりします。
用語に関してドキュメント等に詳しく書いてあればいいのですが、DataCatalog
はβ版(2019/12/29現在)という事もあり調べてもあまり情報が出てこないのが現状です。
DataCatalog
が正式にリリースされればもっと公式の情報も充実すると思いますが、今現在(2019/12/29現在)情報が少ないので私がDataCatalog
を利用する時に調べて分かった内容を共有できればと思います。
注意点
この記事の内容はDataCatalog
がβ版の時の情報であり今後変更がかかる可能性もありますので、その点ご注意ください。
用語
Entry
Entry
はGCP上のリソースを表します。
BigQuery
のデータセット・テーブル、Pub/Sub
のトピックなどのGCP
上のリソースはDataCatalog
ではEntry
というエンティティで表されます。
Entry
は内部で自動生成されたIDを含むURL形式のname
というフィールドを持っており、これで一意に表されます。
# Entryのname
projects/<project-id>/locations/<location>/entryGroups/<entrygroups>/entries/<entry-id>
CLI、APIでリソースの情報を取得したりする場合はこのname
を使用したりします。
EntryGroup
EntryGroup
はEntry
を論理的にまとめたものです。
DataCatalog
では自動的にBigQuery
とPub/Sub
のEntryGroup
が作成されており、それぞれ@bigquery
、@pubsub
となります。
BigQuery
上のEntry
であるデータセット・テーブルなどは自動的に@bigquery
に所属します。
Scope
検索範囲を表します。
CLI・APIではinclude_org_ids
、include_project_ids
、include_gcp_public_datasets
などで検索範囲を組織、プロジェクト、公開データセットかどうかを指定できます。
# 指定したプロジェクトIDの範囲でfooという名前のリソースを検索する
$ gcloud beta data-catalog --include-project-ids=<project-ids> 'name:foo'
DataCatalog
では検索する際に自動的に検索範囲を選択しようとするので、検索する際にはScope
の指定が必要になってきます。
SearchResult
検索結果。
検索でヒットしたものが何か(BigQuery
のデータセット・テーブルなど)とそのリソースがどこにあるかの参照などの概要が返ってきます。
CLI・APIで検索した結果からEntry
の詳細な情報を取得したい場合は、SearchResult
を元にEntry
の情報を取得しにいく必要があります。
TagTemplate
名前の通りタグテンプレートを表します。
TagTemplate
もEntry
と同じくURL形式のname
で一意に表されますが、Entry
と異なり自動生成されたIDは持たず、ユーザーが指定したテンプレートIDがIDとなります。
# test_templateというIDで作成している場合
projects/<project-id>/locations/<location>/tagTemplates/test_template
Tag
こちらも名前の通りタグを表します。
同じくURL形式のname
により一意に表され、Entry
と同じく自動生成されたIDを持ちます。
projects/<project-id>/locations/<location>/entryGroups/<entry-group>/entries/<entry-id>/tags/<tag-id>
Tag
は元となるTagTemplate
のname
を保持しています。
まとめ
簡単ですがDataCatalog
で出てくる主要な用語をまとめてみました。
下記のリンクも分かりやすかったので合わせて見てみて下さい。
参考リンク
Google Cloud Data Catalog hands-on guide: a mental model
gcp-datacatalog-diagrams - github
Cloud Storage filesets