5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ORDSを使ってLogic AppsからAutonomous AI Databaseに対してAPIでデータ取得

5
Last updated at Posted at 2025-12-12

本記事は、Oracle Cloud Infrastructure Advent Calendar 2025 シリーズ1の13日目の記事となります。

OCI を触れ始めて日が浅いので余り難しい記事は書けないですが、しっかり頑張って書いていこうと思います。(という予防線をはっておく。)

はじめに

OCI の記事なのに Azure のサービスについて語りだしますが、Logic Apps から Oracle Database に接続するにあたり、前提条件としてオンプレミス データ ゲートウェイのインストールが必要となります。
Azure Logic Apps から Oracle Database に接続する

正直、これが結構面倒くさくて、Logic Apps から Oracle Database 使うのってなかなか使いにくいなぁと思ってこれまで過ごしてきました。

が、OCI に触れ始めて、Oracle Database って API でデータ操作できるということに気づきました。

Oracle REST Data Services 25.1
Oracle REST Data Servicesの紹介

1.1 Oracle REST Data Servicesについて
Oracle REST Data Services (ORDS)は、Oracle DatabaseのHTTPS Webゲートウェイです。その機能に は、Oracle Database Actions、Oracle APEXアクセス、データとデータベース用のREST API、>Oracle Database API for MongoDBなどが含まれます。Oracle REST Data Servicesは、Oracle HTTP Serverおよびmod_plsqlのかわりとなるJava EEベースのサービスです。

しかも OCI を使ってると Autonomous AI Database だと ORDS 最初から有効化されてるので、これ Logic Appsからデータ抜いてくるのに楽にできるんじゃないか?と思い試してみようと思った記事になります。(クラウドならではのAPIファースト感ある仕組みを実装できるな、と。)

OCI Autonomous AI Database 側の設定

基本的にこの記事を参考にしてみました。DBはとりあえず検証のため一旦パブリックネットワークにおいてます。(良くないので仕事ではマネしない。)

[Autonomous Database]Oracle管理ORDSを使ったREST APIで表データをCSVファイルとしてダウンロードする

Autonomous AI Database のワークロードはトランザクションを指定し、Always Freeを選択します。
image.png
(話はそれますが、APEX 使ってローコードで画面構築するとき、これレスポンシブルな感じで作れるのやね。正直 Oracle のローコード舐めていた。)

DBが作成できたらCreate User画面でユーザー作成しておきます。適当にデモユーザーを作成。REST, GraphQL, MongoDB API, and Web accessはいったんフルアクセス。
image.png
image.png

ユーザー作成できたらテスト用のテーブル作成。
image.png

デモユーザーで Database Actions に入りなおして "REST" を選択。
image.png

あとはさっきの記事通りモジュールを作成していく。
image.png

名前も任意の名前で作成。
スクリーンショット 2025-12-02 113806.png

モジュール>テンプレート>ハンドラ
の順でリソースを作成していく。

テンプレートは REST API の URI のパスを設定していく感じ。
image.png

ハンドラ側でどんなSQLを実行するか設定するよう。
image.png

モジュール、テンプレート、ハンドラが作成できたら、ハンドラの画面で curl のコマンドを取得できる。
image.png

こんな感じで cmd と pwsh と bash が出てくる。
image.png

ここで出てきたコマンドを使ってデータもちゃんと取れていることを確認したら OCI 側の設定はOK。
image.png

Logic Apps 側の設定

Logic Appsの設定についてはこのあたりの記事を参考にしていただければと思います。

Azure Logic Apps とは
Japan Azure Integration Support Blog
Standard タイプの Logic Apps について少し触れてみる

今回はシンプルに ID 指定で GET リクエストしたものを JSON パースしてみました。
ワークフローの構成としては以下の通り。HTTP コネクタで Oracle DB のクエリを呼び出しています。
JSON 形式で返ってくるのであとはパースしたのを Compose で取り出し。
image.png

ワークフロー実行

さっそくワークフロー実行。
image.png

itemsの中に配列で値が入ってきているのを確認。

  "items": [
    {
      "employee_id": 101,
      "first_name": "山田",
      "last_name": "太郎",
      "department": "営業部",
      "salary": 55000,
      "hire_date": "2020-04-01T00:00:00Z"
    }
  ],
  "hasMore": false,
  "limit": 25,
  "offset": 0,
  "count": 1,
  "links": [
    {
      "rel": "self",
      "href": "https://---------.adb.ap-tokyo-1.oraclecloudapps.com/ords/demo001/emptest/employees/101"
    },
    {
      "rel": "describedby",
      "href": "https://---------.adb.ap-tokyo-1.oraclecloudapps.com/ords/demo001/metadata-catalog/emptest/employees/item"
    },
    {
      "rel": "first",
      "href": "https://---------.adb.ap-tokyo-1.oraclecloudapps.com/ords/demo001/emptest/employees/101"
    }
  ]
}

ちゃんと JSON でパース出来てそう。
image.png

なので、OCI を利用してくれていればの前提ですが、オンプレミスデータゲートウェイを利用せずとも Logic Apps や Power Automate と Oracle DB とでやり取りができるなぁということがわかりました。

さいごに

本来 Oracle Interconnect for Azure とか使って OracleDatabase@Azure 使うのが正解なんだろうけど、こんな使い方もできるよってので記事にしてみました。

数年ぶりに Oracle 界隈の技術に触れたので、これからもっと色々キャッチアップしつつ、マルチクラウドのサービスが世の中的にも増えてきているので、いろんなクラウドと組み合わせてシステム・ビジネス設計していければと思います。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?