IBM Knowledge Catalog(旧Watson Knowledge Catalog)からwatsonx.data SaaSに接続する

# はじめに
[IBM Knowledge Catalog](https://www.ibm.com/products/knowledge-catalog)（IKC, 旧Watson Knowledge Catalog）は、IBMが提供するデータカタログサービスです。
データカタログとは、組織内のデータ資産を一元管理し、検索可能に整理するシステムのことです。
これにより、データの利用者が必要なデータを簡単に見つけて、利用することが可能になります。

IKCはサードパーティのデータソースを含む､多様なデータソースへの接続をサポートしています｡
[公式ドキュメント：サポートされるデータ・ソース
](https://www.ibm.com/docs/ja/cloud-paks/cp-data/4.7.x?topic=data-supported-sources)

この度IKCは[watsonx.data](https://www.ibm.com/jp-ja/products/watsonx-data)への接続をサポートしました｡
これにより､watsonx.dataに接続したデータウェアハウスやストレージのデータに対してIKCでデータカタログの管理ができるようになります｡

本記事では以下マニュアルを補足し､IKCにwatsonx.dataのSaaS版に接続する手順をご説明します｡
マニュアル内の「IBM Cloud上のwatsonx.data」への接続に該当します｡
[公式ドキュメント：watsonx.data 接続](https://www.ibm.com/docs/ja/cloud-paks/cp-data/4.7.x?topic=catalogs-watsonxdata-connection)

# 1. 事前情報の取得
はじめに､接続設定で使用する情報を収集します｡

## 1-1. APIKeyの作成
以下の手順を参考に､接続対象のwatsonx.dataインスタンスが存在するIBM CloudアカウントについてAPIKeyを作成してください｡
[Qiita：IBM Cloud APIKEYの作成(取得)方法](https://qiita.com/nishikyon/items/fa8b951267efbe911fe7)

## 1-2. CRNとホスト名の取得
IBM Cloudコンソールで接続対象のwatsonx.dataインスタンスを選択します｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/14f714fe-6a72-8f52-249e-bbde16fee3b8.png)

CRNの文字列､および「Webコンソール」のURLのうちホスト名にあたる部分(下図の例では「us-east.lakehouse.cloud.ibm.com」)をメモします｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/fdf03264-e042-cfeb-43be-b95105e9f0f2.png)

## 1-3. Prestoエンジンの接続情報の取得
以下の手順を参考に､接続対象のwatsonx.data内のPrestoエンジンのホスト名､ポート番号､エンジンIDの値を取得してください｡
[Qiita：watsonx.data SaaS版のPrestoエンジンにアクセスするための事前情報取得](https://qiita.com/nishikyon/items/2687572b6ecce1e54bb5)

# 2. 接続の作成
IKCでwatsonx.dataとの接続を行うカタログを開きます｡
画面右上の「カタログに追加」→「接続」をクリックします｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/2e890e33-ce4b-4608-3f69-bd370d4ad0f2.png)

「新規接続」画面でコネクターの種別から「IBM watsonx.data」を選択します｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/11abae6a-ce0b-20cb-9054-9b6b6b548390.png)

「接続の作成: IBM watsonx.data」画面で各項目を入力します｡
* 接続の概要セクション
    * 名前：任意の接続名を命名してください｡
    * 説明：接続に関する説明を記載してください｡入力は任意です｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/3c6c7b8c-9da4-cdc9-72e0-11cea658c360.png)
<br>

* 接続の詳細セクション
    *   「Cloud Pak for Data 上のIBM watsonx.dataに接続します」：チェックオフにしてください｡
    *   ホスト名またはIPアドレス：手順1-2.で取得したホスト名を入力してください｡
        *   例. us-east.lakehouse.cloud.ibm.com
    *   ポート：「443」を入力して下さい｡
    *   インスタンスID：上記1-2.で取得したCRNのうち､「instance_id」に該当する部分の文字列を抽出して入力してください｡

> [公式ドキュメント：watsonx.data 接続](https://www.ibm.com/docs/ja/cloud-paks/cp-data/4.7.x?topic=catalogs-watsonxdata-connection)より
> IBM Cloud: CRN の {instance_id} セグメントでこの値を見つけます。 例:
crn:v1:{cname}:{ctype}:{service_id}:{region_id}:a/{account_id}:{instance_id}::

* 接続の詳細セクション(続き)
    * インスタンス名：「lh-default」を入力してください｡
    * CRN：手順1-2.で取得したCRN全体の文字列を入力してください｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/3b0971b8-0227-1716-0f2b-984bf9ea16aa.png)
<br>

* 資格情報
    * ユーザー名：「ibmlhapikey_\<cloud-account-email-address>」を､\<cloud-account-email-address>部分は自身のメールアドレスに置き換えて入力してください｡
        * 例: *ibmlhapikey_username*@example.com
    * パスワード：手順1-1.で作成したAPIKeyの文字列を入力してください｡ダウンロードしたjsonファイルの「apikey」項目の値です｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/a686517b-4467-9dd2-7ab3-847ec9902fde.png)
<br>

* 証明書セクション
    * SSLが有効：チェックオン
    * SSL証明書：空欄
<br>

* エンジン接続の詳細セクション
    * エンジンのホスト名またはIPアドレス：：手順1-3.で取得したPrestoエンジンのホスト名を入力してください｡「：ポート番号」を含まないように注意してください｡
    * エンジンID：手順1-3.で取得したPrestoエンジンのエンジンIDを入力してください｡
    * エンジンのポート：手順1-3.で取得したPrestoエンジンのポート番号を入力してください｡
<br>

* 位置と主権セクション
    * データの所在地､主権となる国に関する情報を入力してください｡
        * [公式ドキュメント：データ・ロケーション・ルールの設計 (Watson Knowledge Catalog)](https://jp-tok.dataplatform.cloud.ibm.com/docs/content/wsj/governance/design-data-location-rule.html?context=cpdaas)
    * 下図の例ではLocationを「IBM-Tokyo」､主権を「Japan」としています｡
    * 入力後､右側の「確認」をクリックし､「確認済み」となることを確認してください｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/20a0ddd9-b37d-4be2-1052-277d9c75f260.png)
↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/25f56c0c-67de-d5ae-d1a6-fae2088444ac.png)

上記の入力が終わりましたら､画面右上「接続のテスト」ボタンをクリックします｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/7edc8e23-66b2-c08f-d226-113a524eaf7d.png)

正しく構成できていれば､「テストは正常に終了しました」というポップアップが表示されます｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/74763bb7-9121-347f-a524-8502f8eabdc3.png)

画面右下の「作成」ボタンをクリックします｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/21b6e78c-a26b-ad58-9d75-3ed4aa860226.png)

上記で指定した接続名で､watsonx.dataの接続を作成することができました｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612462/bee910c0-bc8d-d5ae-ac97-1c321c41ff37.png)