Oracle Integration Gen3 で Postgres Adapterを使ってOCI Managed PostgreSQLで操作を実行する

# はじめに
[前回](https://qiita.com/yoi00001/items/4d4cd83bf591618c97e0)、Oracle integration Cloud(OIC)でPostgres Adapterを使って接続の定義をしたので、今回はその接続を使って実際に操作をしてみたいと思います。

Oracle Integration Cloudについてはこちら
https://www.oracle.com/jp/integration/application-integration/

OIC3についてはこちら
https://docs.oracle.com/ja-jp/iaas/application-integration/index.html

OIC PostgreSQL Adapterについてはこちら
https://docs.oracle.com/en/cloud/paas/application-integration/postgresql-adapter/postgresql-adapter-capabilities.html

# 事前準備

OICにてPostgres Adapterの接続の定義が完了していること。([こちら](https://qiita.com/yoi00001/items/4d4cd83bf591618c97e0)の手順)

# 統合フローの作成

ここから定義した接続を使って統合処理のフローを作成していきます。
OICのコンソールメニューから「設計」－「統合」へ遷移し、右上の「作成」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/f7c48630-479d-54e7-0de4-c2d75c558500.png)

「スケジュール」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/5aa00d8c-dd4e-5ee9-88a2-c9139ee8126c.png)

任意の名前を入力し「作成」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/0f235bf5-6a0e-a8a4-7d65-8a3cec604bc6.png)

統合作成のキャンバスが開かれるのでフローの「スケジュール」の下に事前に定義したPostgresの接続をクリックして配置します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/af06abb3-c0ff-84da-602a-064e8a89462c.png)

ここからどのような操作を実行するか設定していきます。
最初に操作の名前、何を実行するかを決めます、今回はテーブル操作を使ってデータをinsertしてみます。
テーブル操作は一括でデータをinsert, Update, Merge, Selectできます。
他にもStored Procedureの実行や、SQLの実行、Bulk Dataのインポートなどの操作が実行できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/98983805-c670-204a-002f-aae0cfb2a550.png)

次に操作を実行するテーブルを選択します。スキーマは「public」を選択して「検索」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/e26373a2-f01c-0389-33b6-dfa7bed34428.png)

該当するテーブルが出てくるのでクリック→「>」→「表のインポート」とクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/4e5f13a3-53c4-6f32-dbfa-afce72a3eac5.png)

該当するテーブルのカラムが確認できるのでチェックして、「続行」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/2d668bb5-85a3-7b21-a22d-1f240cac58f9.png)

ここはそのまま「続行」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/6db235db-9b79-7fc8-e3c0-b2645d0bbe49.png)

最後にサマリーを「終了」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/9873e124-e8f7-5d2c-b413-b771a86bd897.png)

これで接続が統合フローに配置されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/0a63d6f5-5b13-fc06-169d-8f57dc03ae0b.png)

# データのマッピング
次にテーブルtblにinsertするデータをマッピングします。
今回はお試しなのでデータを直書きして試してみます。
追加したInsertSampleDataの上にあるマップのメニューから「編集」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/de246559-b40e-1a93-246e-be1cfd3f167b.png)

直書きでデータをマッピングする場合は設定したいカラム名を右クリックして「ターゲット・ノードの作成」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/ef321d2a-1304-8cd7-88ae-3a8deeff0522.png)

下の方に非活性のテキストエリアが出てくるので「開発者ビューに切り替え」のボタンを押して編集可能にし、値を入力後、「✓」(保存)を押して入力内容を保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/44932a36-3678-ad83-75db-da58c050801b.png)

同様の手順でnameも編集します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/3aea6014-7cda-aed5-19ce-ebaaa0e6b4d8.png)

できたら「検証」を押して「＜」で元の画面に戻ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/623ccebc-f22c-ead9-bbdc-d0d14e99c16c.png)

これで統合フローの作成が完了しました。

# ビジネス識別子の設定

最後にビジネス識別子の設定をします。これは実行した統合フローを追跡するのに必要な作業です。(※設定しないとエラーが消えないまま統合フローが実行できません)
(I)のボタンを押して、startTimeをビジネス識別子フィールドにドラッグアンドドロップします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/a1eef8de-a66d-ea11-b722-9bba4a0f5b23.png)

最後に「保存」します。「＜」を押して統合の一覧画面へ戻ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/1f7ce504-de8c-9c2c-1769-db5fe27c1b7b.png)

# 動作確認

最後に動作確認してみます。一覧から「アクティブ化」のボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/ae9b201b-40b7-7803-b55a-585e05425c51.png)

確認なので「デバッグ」でアクティブ化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/f75b3bc2-d4bf-cc05-4434-8b621187a889.png)

しばらく待ってアクティブ化したらメニューから「実行」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/4a5a7ab6-ee4f-d5cc-e0fb-b7c5138945b1.png)

アクティビティ・ストリームから正常に処理が完了していることを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/a25c65bc-9066-85b5-9a81-1eec5ed29421.png)

# データの確認

最後にデータがinsertされているか確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/d12bcb1f-97d5-a675-09a2-deb97f420833.png)

以上です。