OCI Object StorageからADBへデータを自動取込しよう

今日はAutonomous databaseのDatabase ActionsのFeed機能を利用して、SQL文を書かずに、Object StorageからADBへデータを自動取込ます。
## 前提
１．Oracle Autonomous Databaseインスタンスを作成済み

https://qiita.com/heanzza/items/5232ab4b9f4092de7563

## 手順
:::note info
<dt>１．Database Actionsのクラウド・ストアの管理</dt>
<dd>・ OCIコンソール上で、オブジェクトストレージのパケット作成</dd>
<dd>・ Database Actionsでクラウド・ストレージの追加</dd>
<dt>２．Database Actionsのライブ表フィードの作成</dt>
<dd>・ ターゲットテーブル設定</dd>
<dd>・ クラウド・ストレージ設定</dd>
<dd>・ スケジュール設定</dd>
:::
## １．Database Actionsのクラウド・ストアの管理
・ OCIコンソール上で、オブジェクトストレージのパケット作成
① OCIコンソール画面のナビゲーションの「ストレージ」→オブジェクトストレージとアーカイブストレージの「パケット」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/4df5842d-673d-2f29-e144-a73d976d8431.png)
② 「パケットの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/84c1b26e-88b8-1ad2-efb6-cabdb1bbb500.png)
③ 
パケット名：springbucket
☑オブジェクト・イベントの出力
「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/3db47dbb-e59c-ce8e-cf6d-029cca997c57.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/03c0d723-a7f3-8a09-8900-536c22b48e72.png)
・ Database Actionsでクラウド・ストレージの追加
④ Autonomous DatabaseのDatabase Actionsのホーム画面で「データ・ロード」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/da80e268-faa8-9561-b932-b5a4bcede1e6.png)
⑤ 探索および接続の「クラウドの場所」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/e95cbb2d-24f0-1d46-fb5b-02e9ec2e72b0.png)
⑥ 右上の「＋クラウド・ストレージの追加」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/85f69ccd-fa0a-193e-a095-7585f272654b.png)
⑦ 
・名前：任意（例：springstorage）
・説明：任意
・資格証明の作成：☑
・資格証明名：任意（例：springcertification）
・Oracle Cloud Infrastructureユーザー名：以下の手順で取得して入力
OCIコンソールのユーザのプロファイル名
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/fe4b0937-54ca-4108-d8b2-b3623aa13485.png)
・認証トークン：以下の手順で取得して入力
「プロファイル」→「ユーザ設定」→「認証トークン」から新規作成or既存の利用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/82d9c744-d23f-fb60-4b2a-2671caaf8de1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/4da89367-7405-cf62-7eed-082b32fc75c3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/f27be5ba-f5c2-a145-64e0-41726aa5b197.png)
・パケットURI：③手順で作成したパケットのURLを求められている形式に合わせて入力
形式：https://objectstorage.< region>.oraclecloud.com/n/< namespace>/b/< bucket>/o
例：https://objectstorage.ap-tokyo-1.oraclecloud.com/n/nrwwhydvoyiz/b/springbucket/o
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/3f3925cb-59b6-9439-79ec-f5e70a76a068.png)
⑧ 「次」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/4f40cf74-1ffb-7566-2f36-812012611de2.png)
⑨ 「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/11ac76e6-73c1-c64c-cae4-b4fc6a23aaab.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/af28a21c-da5d-95e9-5632-f1bf52c52c0a.png)
## ２．Database Actionsのライブ表フィードの作成
① Autonomous DatabaseのDatabase Actionsのホーム画面で「データ・ロード」をクリック
② 「データのフィード」と「クラウド・ストレージ」を選択し、「次」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/d28910eb-698e-7694-fd2f-6e99c44e04b9.png)
③ 「ライブ表フィードの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/2614f4bf-6aac-2b13-8a8b-183968fcc6bc.png)
④ 
・ライブ表フィード名：任意（例：springfeed）
・ターゲット表名：ターゲットのテーブル名（例：people）
・クラウド・ストレージ：ドロップダウンリストからクラウドストアの管理手順で設定したクラウド・ストレージを選択（例：SPRINGSTORAGE）
・スケジュール済の「スケジューリングに対して有効化」をチェック
・スケジュール時間間隔、開始日、終了日等を設定し、「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/6d43e551-1d27-64c5-377a-634a1047fd12.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/e18ec192-e285-a7d2-a508-180e339a44e1.png)
⑤ オブジェクトストレージのバケットにExcelをアップロードする
・OCIコンソールの「ナビゲーションメニュー」→「ストレージ」→「バケット」をクリック
・対象バケットをクリック
・「アップロード」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/b0e40553-fc71-fdaa-c91b-0548e309474c.png)
⑥ ファイルをアップロードし、「アップロード」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/62e19ed0-a502-b3f5-597a-7aa2f8413a86.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/96f442b8-59cc-57f3-2040-62d917ae4c36.png)
⑦ ADBのDatabase Actionsのライブ表のフィードの検索画面から、作成したフィードの三点をクリックし、「ライブ表フィードの即時実行(1回)」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/365a263f-4db0-43bb-6170-98d50dd00dea.png)
⑧ ADBのDatabase Actionsのライブ表のフィードの検索画面から、作成したフィードの三点をクリックし、「ライブ表フィードの実行の詳細」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/6de72d8f-74ff-43a4-8c54-fcde6988d4a0.png)
⑨ アップロードしたcsvファイルがフィードされたことを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/88f1b121-8508-f4bc-f597-daada437076a.png)
⑩ ADBのDatabase ActionsのSQL画面からSQL文を実行し、バケットにアップロードしたファイルがテーブルにロードされてることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562390/268be91b-281f-4037-e1d3-98983d6b9fbf.png)
⑪ Object Storageのバケットにデータがアップロードされるとフィードで設定したスケジュールでデータが自動ロードされることを確認
## 参考サイト
https://oracle-japan.github.io/ocitutorials/database/adb102-dataload/