OCI Object StorageにあるデータをOACのデータソースにする

# はじめに
OAC（**Oracle Analtyics Cloud**）に、OCI（**Oracle Cloud Infrastructure**）のObject Storageに格納されたファイルをデータセットとしてインポートする方法を紹介します。
対応しているファイル種別は、Excelファイル（\*.xlsx)、CSVファイル、テキストファイル（\*.txt)です。

# オブジェクト・ストレージを準備
2つのバケットを準備しました。
「標準」ストレージの「data」と、「アーカイブ」ストレージの「archive-data」です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/0ec6b741-4e76-6efa-4cfb-6d9f6dc2c17c.png)

ストレージ層の違いについては、こちらの公式ドキュメントをご覧ください。

https://docs.oracle.com/ja-jp/iaas/Content/Object/Concepts/understandingstoragetiers.htm

バケットにExcelファイルをアップロードしておきます。

# OACからの接続を定義
OACにログインし、「作成」メニューから「接続」を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/981138e2-b612-4c9a-0850-3638dfaf61a6.png)

接続タイプとして「OCI Resource」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/12f58601-1534-f208-eb2b-281cbc1c6d56.png)

名前を付けて、必要な情報を入力します。
接続情報は「APIキー」を選択します。デフォルト・リージョンは「ap-tyoko-1」にしました。
テナンシとユーザーのOCIDは、OCI管理コンソールからコピーします。
「公開APIキー」の「生成」をクリックしてから、「コピー」をクリックして内容をクリップボードにコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2544e2ba-e340-0c8e-66dd-5b3a56da9b9c.png)

コピーしたAPIキーをOCIコンソールで追加します。
追加方法は、この記事で紹介した手順と同じなので、参考にしてみてください。
（画面の構成が少し変わっていますが）

- [Oracle Analtyics Cloud：画像認識AIサービスと連携してみる](https://qiita.com/tyo38/items/20e1f2bd5cb417f9e966#2-oac%E3%81%A8vision%E3%81%AE%E9%80%A3%E6%90%BA)

# ファイルからデータセットを作成
次に、「データセット」を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3e8902b7-f229-8159-22b6-08afb1a97f39.png)

前の手順で作成した OCI Resource への接続定義をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/be014d81-1727-94b9-e884-3d48f4b3343b.png)

リージョンとコンパートメントを指定します。
バケットが一覧されるので、「data」を選択します。
「data」バケットにアップロードしてある「Sample Order Lines.xlsx」をクリックして追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/fd457fc1-a6e4-eff7-40f0-5f9c30257f96.png)

内容を確認して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e609e001-b417-57a5-40ff-bc3493a44e9e.png)

データセットエディタの画面となり、Excelファイルが読み込まれます。
左ペインの「Object Store」の右にあるアイコンをクリックして、さらにオブジェクト・ストレージからのファイルを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/5c05ab55-7a91-5439-fe61-ef24fe3c7127.png)

先ほどと同様の手順で、「archive-data」バケットの「Sample States.xlsx」を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/43305ea7-68b1-c85f-bf2a-9e2d0a319d64.png)

:::note
アーカイブ・ストレージに格納されているファイルは、使用する前に「リストア」をリクエストしなければなりません。
「リストア済」となるには、少し時間がかかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/fa496e2b-55bc-66cb-b7fd-9110dc89eb24.png)
:::

内容を確認して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d79fb118-e1f3-40d1-1973-4b3d1dcffc10.png)

2つのファイルの結合を確認して、データセットに名前を付けて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8f3648c4-3539-77be-b767-526ec56d71bb.png)

# 動作確認
保存したデータセットをクリックして、ワークブックを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/84dc4c0e-54a7-0cbf-b3b6-321ed73d54c2.png)

パパッと作ってみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/fb4f7c4c-c30f-c094-ce19-a8417f053bdf.png)

- 参考：[Oracle Analytics Cloud：Auto Insightsを使ってみる](https://qiita.com/tyo38/items/cd270f6ea7906bd7a5c9)

# リロードする
データセットを右クリックして、「リロード」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d41ebb3a-245b-3e92-8bf9-69f6445d035e.png)

「data」バケットの「Sample Order Lines.xlsx」を更新したので、「Sample Order Lines.xlsx」を選択した状態で「即時実行」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/de862cb0-6d83-c271-85d6-c39a779e6f8f.png)

少し待つと、「履歴」で実行結果が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d7dd0fee-1a49-47fa-2e0b-18c7395645d4.png)

# もう一度、動作確認
先程のワークブックを開いて、データをリフレッシュしてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2987c195-7474-6148-813f-40850c4d7f2c.png)

元々の受注年月日を5年進めてみたのですが、パッと見にはわかりにくですね。

リフレッシュ前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bd80aabb-feae-a4cb-8843-37b3baf536c0.png)

リフレッシュ後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bc3fa3c8-4762-915e-d9fb-fa1b43a77db7.png)

ちゃんと「年」は変わっていました。

# おわりに
ファイルの置き場所がオブジェクト・ストレージにある、というだけで特に変わりなく扱うことができました。
データセットの元となるファイルを複数人で共有したい場合や、何らかの前処理を実施した結果をオブジェクト・ストレージで受信するようなケースでは便利です。

# 公式ドキュメント
- [OCIオブジェクト・ストレージからデータセットを作成](https://docs.oracle.com/en/cloud/paas/analytics-cloud/acubi/create-dataset-oci-object-storage.html)