データストアの連携・認証 - カスタムデータベース連携

Prev Next

COMETAでは、データベース系サービスにも連携できます。
データベース内の階層構造を記述したCSVファイルをAmazon S3バケットに格納することで、COMETA上にデータストアを追加できます。

対応するデータベース

  • MySQL
  • PostgreSQL
  • Amazon Athena
  • Databricks
  • Oracle Database
  • Microsoft SQL Server
  • Treasure Data

上記以外のデータベースからデータストアを追加したい場合は、その他のサービスを選択してください。

制約

カスタムデータベース連携を利用して連携したデータストアは、一部COMETA上の機能を利用できません。
詳しくは、COMETA対応機能一覧を参照ください。

事前準備

CSVファイルの用意

データベース系サービスのデータストアを作成するためには、あらかじめデータベース・スキーマ・テーブルの3層構造と、各テーブルのカラムに関する情報を、CSVファイル形式で記述する必要があります。
以下の形式で記述してください。

クエリサンプルのご紹介

本項で紹介するフォーマットに適合するデータを生成するためのクエリサンプルを、対応データベースごと紹介しています。
カスタムデータベース連携用クエリサンプルを参照ください。

テーブル用ファイルのフォーマット

必須項目はNullまたは空文字とした場合にエラーとなります。

header名 必須 説明 制約
table_catalog データベース名を入力します。
COMETA上で第1階層のアセットとして扱われます。
最大255文字
table_schema スキーマ名を入力します。
COMETA上で第2階層のアセットとして扱われます。
最大255文字
table_name テーブル名を入力します。
COMETA上で第3階層のアセット(テーブル)として扱われます。
最大255文字
table_type テーブルタイプを入力します。
BASE TABLEVIEWなどの値を入力してください。
最大255文字
comment - コメントを入力できます。
この列に記述されたテキストは、該当テーブルのメタデータとして登録され、アセット検索における検索対象文字列となります。
最大65,535byte

カラム用ファイルのフォーマット

必須項目はNullまたは空文字とした場合にエラーとなります。

header名 必須 説明 制約
table_catalog データベース名を入力します。
テーブル用ファイルのtable_catalogと値を一致させてください。
最大255文字
table_schema スキーマ名を入力します。
テーブル用ファイルのtable_schemaと値を一致させてください。
最大255文字
table_name テーブル名を入力します。
テーブル用ファイルのtable_nameと値を一致させてください。
最大255文字
column_name カラム名を入力します。
COMETA上でアセット(カラム)として扱われます。
最大255文字
ordinal_position カラムの順序を整数値で入力します。
同一テーブル内でユニークな値となるように入力してください。
整数値
column_default - カラムのデフォルト値を入力できます。 最大255文字
is_nullable カラムの値としてNullを許容するかどうかを入力します。
YESNOといった値を入力してください。
最大255文字
data_type カラムのデータ型を入力します。
bigintcharなどの値を入力してください。
最大255文字
comment - コメントを入力できます。
この列に記述されたテキストは、該当テーブルのメタデータとして登録され、アセット検索における検索対象文字列となります。
最大65,535byte

CSVファイルに関する制約

CSVファイルの文字コード

UTF-8を推奨しています。
UTF-8以外の文字コードの場合、一部文字が読み取れないことがあります。

CSVファイルの格納

Amazon S3バケットを用意し、作成したCSVファイルを格納してください。
なお、格納したS3バケットのパスはメモしてください。

IAMロールの作成

COMETAは、S3バケットに接続する際のAWS認証方式として、IAMロールを利用します。
なお、データ転送時に一時的な認証情報を取得するため、お客様が管理するAWSのIAMロールにて、
COMETAのAWSアカウントを信頼されたエンティティタイプとして登録いただく必要があります。
以下の手順に従い、IAMロールを作成してください。

  1. AWSのIAM Management Console画面より、ロール>ロールを作成をクリックします。
  2. 信頼されたエンティティを選択にて、以下の通り設定します。
    • 信頼されたエンティティタイプ:
      • AWSアカウントを選択します。
    • AWSアカウント:
      • 別のAWSアカウントを選択し、アカウント IDにはカスタムデータベース連携画面に表示されているCOMETAのAWSアカウントIDを入力します。
      • 外部 ID を要求するを有効にし、外部IDには任意の文字列を入力します。入力した文字列はメモしてください。
        dbt-metadata-integration-2024-10-28-0-47-0
  3. 許可を追加にて、任意に設定します。
  4. 名前、確認、および作成にて、任意に設定します。
  5. 作成したIAMロールの詳細画面にて、ARNをコピーします。

権限の付与

作成したIAMロールに対して権限を付与してください。
付与が必要な権限は、以下のとおりです。

  • s3:GetObject

COMETA側の設定

項目名 必須 内容
ロールARN 作成したIAMロールのARNを入力します。
ARNはAWSコンソール上の該当のIAMロールの詳細ページよりコピーできます。
COMETAのAWSアカウントID - IAMロールを作成する際に必要となります。
詳しくは、IAMロールの作成を参照ください。
外部ID IAMロールの作成時に入力した外部IDを入力します。
バケット CSVファイルが格納されているS3バケットを入力します。
テーブル用ファイルのパスプレフィックス テーブル用のCSVファイルが格納されているS3バケットのパスを入力します。
なお、末尾には/を入力しないでください。
カラム用ファイルのパスプレフィックス カラム用のCSVファイルが格納されているS3バケットのパスを入力します。
なお、末尾には/を入力しないでください。

COMETA側の設定が完了すると、CSVファイルの内容が読み込まれ、データストアが追加されます。
追加されたデータストアは、データストア連携管理の一覧画面、およびアセット情報画面にて確認できます。
なお初回の読み込み以降、S3上のCSVファイルの読み込みとそれに伴うデータストアの更新は、日次で実行されます。

補足事項

アセットの削除

COMETA上のデータストア内に格納されるアセットは、常にCSVファイルの記述内容と対応します。
そのため、不要なアセットがある場合は、CSVファイルから該当アセットの行を削除してください。
CSVファイルに記述されていないアセットは、次回データストアの更新後にCOMETA上から削除されます。