Waston StudioからICOSデータにアクセス


CP4D 4.0のWatoson StudioからICOS上のCSVファイルとparquetファイルにアクセスしてみます。

接続の全体イメージは以下のようになります。
1.ICOSにバケットを用意して、ファイルを入れます。
2.サービス資格情報を作成します。
3. Watson Studioで接続オブジェクトをつくり、接続データを選んでアクセスします。

1 ICOSバケットの確認

読み書きしたいデータのあるbucketを選びます。
ここでは200322icosbucketというbucketを対象にします。

パブリックのエンドポイントをメモしておきます。
s3.jp-tok.cloud-object-storage.appdomain.cloud

ちなみに以下のデータが保存されています。

2 ICOSのサービス資格情報作成

まずICOSのサービス資格情報を作成します。

名前はds201004と付けました。
サービスIDは新規に作成し、ds201004_sidという名前にしました。後でこサービスIDの権限を修正するので、自動生成せずにわかりやすい名前を付けるのがお勧めです。
HMAC資格情報はONにします。

出来上がったサービス資格情報の以下をメモしておきます。
apikey
access_key_id
secret_access_key
resource_instance_id

3 アクセス制御

このままだとどんなバケットにもアクセスできてしまうので、特定バケットへのアクセスに絞ります。

メニューの管理からアクセス(IAM)に移ります。

サービスIDから先ほど作成したds201004_sidを選び、アクセス・ポリシータブでライター役割を編集します。

リソース・タイプにbucketを指定します。
リソースIDはアクセスを限定したいバケットを選びます。ここでは200322icosbucketです。

4 Watson Studioで接続オブジェクトを作成

プロジェクトに接続オブジェクトを追加します。

Cloud Object Storageを選択します。

バケット:アクセスしたいバケットを選びます。ここでは200322icosbucketです。
ログイン URL:バケットの構成で確認した。パブリックのエンドポイントを入力します。
リソース・インスタンスID:サービス資格情報で生成したresource_instance_id

API 鍵:サービス資格情報で生成したapikey
アクセス・キー:サービス資格情報で生成したaccess_key_id
秘密鍵: サービス資格情報で生成したsecret_access_key

5 Watson Studioで接続データオブジェクトを作成

接続データオブジェクトを追加する。

接続に200322icosbucketを選び、ファイルを選びます。ここではCond4n_e104.csvを選んでいます。

資産名を付けて保存します。

資産をクリックしてプレビューを確認します。

参照できました。

6 Watson StudioのNotebookで読み込み

Notebookを開き、データアクセスのボタンをクリックし、Cond4n_e104.csvを選択し、コードに挿入のなかからpandas Dataframeを選びます。

200322icosbucket_data_requestというコレクションオブジェクトが自動コードで作られますが、接続名の先頭が数字で始まっているとPythonのSyntaxエラーになるので、200322icosbucket_data_requestをicosbucket_data_requestに変更しました。

データが読めました。

7 parquetデータ

上の例ではcsvファイルを読みましたが、parquetデータも読めます。

接続データでCond4n_e104.parquetを選んでいます。

プレビュー表示も可能です。

Notebookからも読めました。