はじめに
IBM Cloud Pak for Data as a Service(以下CP4DaaS)のNotebook上でデータ分析をする上で、分析対象のデータセットをIBM Cloud Object Storage(以下COS)のバケットに保管するケースを想定します。
分析対象のCSVファイルをバケットに保管したとします。ここで、NotebookからCSVファイルにアクセスするには、デプロイメントスペース上のデータ資産として扱います。このような場合、Notebookからデータファイルを呼び出すために、デプロイメントスペースで、COSのバケットに対して「接続(Connection)」を定義します。
デプロイメントスペースに登録された接続情報を利用するため、NotebookではCOSの接続情報を記述しなくてもデータをダウンロードできるようになるというメリットがあります。本記事では、この「接続(Connection)」の作成ステップと作成上ハマりやすい注意点を記載します。
※作成した接続を使ってデータ処理を行い、データ分析のパイプラインを実装することができます。詳細は以下の記事をご参照ください。
IBM Cloud Pak for Data as a ServiceのNotebookで機械学習のパイプラインを実装する際のデータ入出力を整理
0.前提
作業の前提として、IBM Cloud上でGUI画面から以下を実施しておいてください。
- Watson Studioでプロジェクトを作成(例:Telco_Customer_Churn)
- Watson Studioでデプロイメントスペースを作成(例:pipelines_deployment_space)
- COSの任意のバケットを作成(例:pipeline-bucket1)
- 以下のデータセットを分析対象データとして取り扱います。これを上記バケットに保存しておきます。(上の図の「0.アップロード」に対応)
ファイル名:Telco_Customer_Churn.csv
ファイル形式:csv
1.準備
##COSへの認証に使う「サービス資格情報」を作成
ポイント①COSでサービス資格情報を作成する際に「HMAC資格情報を含める」をオンにする
「サービス資格情報」の作成には、COSの管理画面から「サービス資格情報」を選択し、「新規資格情報」をクリックしますが、ここでのポイントは、「詳細オプション」を展開し、「HMAC資格情報を含める」を「オン」にすることです。
このようにして「サービス資格情報」を作成すると、作成した「サービス資格情報」をリストから選択して展開したときに「HMAC資格情報」に相当する"cos_hmac_keys"が生成されていることが確認できます。このうち"access_key_id"と"secret_access_key"が「接続(Connection)」を作成する際に必要になります。
{
"apikey": "**************************************",
"cos_hmac_keys": {
"access_key_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"secret_access_key": "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
},
"endpoints": "https://control.cloud-object-storage.cloud.ibm.com/v2/endpoints",
"iam_apikey_description": "Auto-generated for key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"iam_apikey_name": "サービス資格情報-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"iam_serviceid_crn": (以下省略)
2.接続の作成
デプロイメントスペースで接続を作成
ポイント②接続の追加では「Cloud Object Storage(インフラストラクチャー)」を選択する
「接続」を作成するデプロイメントスペースを開き「スペースに追加」>「資産タイプの選択」画面で「接続」をクリックします。
「接続の追加」画面で、「プロバイダ」欄の「IBM」にチェックします(下画面)。一覧に"Cloud Object Storage"が含まれるものが二つ表示されますが、「Cloud Object Storage (インフラストラクチャー)」の方を選択して、画面右下の「選択」をクリックします。
「接続の編集」画面では、「名前」と「バケット」にそれぞれ適切な値を入力します。
続いて、「ログインURL」に入れる値は、COSの「エンドポイント」から適切なロケーションを選択(例では Regional > us-south)し、「パブリック」に記載されているURLからコピペします。
資格情報にはCOSのサービス資格情報から以下の通り入力します。
「アクセス・キー」:access_key_idの値
「秘密鍵」:secret_key_idの値
おわりに
デプロイメントスペースへの接続の追加は基本的な機能ですが、意外とハマってしまうポイントがあります。本記事では、よりスムーズに接続を追加できるよう、そのポイントに注目してみました。