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

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/1ccdf30a-577c-e010-1c44-cf7e1f853ddf.png)


#1 ICOSバケットの確認
読み書きしたいデータのあるbucketを選びます。
ここでは200322icosbucketというbucketを対象にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/42ba0718-f232-7cca-b503-2df8353ec8c0.png)

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

ちなみに以下のデータが保存されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/e2e06805-513e-8fe1-cb7e-87e2cf6aa0a5.png)


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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/5045535d-8fad-d7d8-0d52-e5b2a949bd2e.png)

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/cc0313a1-521e-84fb-1e05-e5f932087c1c.png)



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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/690274df-8b15-e959-1fa8-a4e4e2b6cc3e.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/74873632-bc17-6b6e-3103-b306372438d8.png)

リソース・タイプにbucketを指定します。
リソースIDはアクセスを限定したいバケットを選びます。ここでは200322icosbucketです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/079b9ace-f918-50b3-7b26-84ce4553f3c7.png)

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

プロジェクトに接続オブジェクトを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/39f8c15b-fa95-de35-8483-cb0be5172bea.png)

Cloud Object Storageを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/e6363cc2-356b-c488-96bf-28803345f823.png)

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/91c1dd79-99a4-235a-2de0-c07a88fb7fd9.png)

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

接続データオブジェクトを追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/88f4c44f-cde7-1ef0-f842-cca2328c7640.png)

接続に200322icosbucketを選び、ファイルを選びます。ここではCond4n_e104.csvを選んでいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/6b654b00-c5d5-e3f7-c037-e79c261ae3f4.png)

資産名を付けて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/362a999e-f829-dcd6-623e-e07dca2f98c9.png)

資産をクリックしてプレビューを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/075b9b85-3d52-e37e-1198-aafaa1f1cac1.png)

参照できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/f13f4afa-86ac-628e-e832-f9d9e2cea14b.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/8f7c487c-0101-2ccc-f69f-c0eb4efb7bf7.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/a7e22cb2-6c8e-79a3-75c1-85f794e77edc.png)

データが読めました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/016bf5c3-6a6b-730b-4ec2-f39c94237794.png)

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/aee25102-d47d-6cbc-73ce-1c4b716edc80.png)

プレビュー表示も可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/abd5797a-be20-726a-c7fc-5d8cf8d48652.png)

Notebookからも読めました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/35b9e895-89c2-3bc4-033d-6956b6c72219.png)