LoginSignup
1
1

More than 1 year has passed since last update.

Oracle APEX 22.1を使ってOCI MySQL Database Serviceのデータを表示 (2022/08/31)

Posted at

Oracle Application Express (APEX) 22.1では、Oracle Cloud Infrastructure(OCI)のMySQL Database Service(MDS)をベースにしたアプリケーションを直接構築するために使用できるな機能がリリースされました。Autonomous DatabaseのOracle APEXを使ってOCI MDSの表データを表示してみました。Oracle APEXのORDSの「REST対応SQLサービス」を活用することで実現できます。

作業ステップ

  • (事前準備)
    • (Oracle APEX環境としての)Autonomous Databaseの作成
    • MySQL Database Service(MDS)の作成
    • パスワードシークレットの作成
  • OCIデータベース・ツールでMDSへの接続の作成
    • プライベート・エンドポイント
    • 接続
  • Oracle APEXのアプリケーション作成
    • Oracle APEX でWeb資格認証の作成
    • REST対応SQLサービスの作成
    • Oracle APEXアプリケーションの作成
      image.png

事前準備

(Oracle APEX環境としての)Autonomous Databaseの作成

OCIチュートリアル:101: ADBインスタンスを作成してみよう を参考にAutonomous Databaseを作成します。
Oracle APEXの利用が目的なのでワークロード・タイプ「APEX」として少ないコストで構成することもできます。

MySQL Database Service(MDS)の作成

OCIチュートリアル:その9 - クラウドでMySQL Databaseを使う を参考にMySQL Database Serviceインスタンスを作成します。

パスワードシークレットの作成

MySQLのデータベースユーザのパスワードを格納するパスワードシークレットをOCI VaultのOCIシークレットとして作成します。
[OCI] OCIシークレットを使ってOracle FunctionsからAutonomous DBに接続してみた。 の前半部分が参考になります。

OCIデータベース・ツールでMDSへの接続の作成

プライベート・エンドポイントの作成

  • OCI Webコンソールで「開発者サービス」から[データベース・ツール]:[プライベート・エンドポイント]をクリック
    image.png

  • [プライベート・エンドポイントの作成」をクリック
    image.png

  • プライベート・エンドポイントの名前を入力

    • プライベート・エンドポイントの名前を入力
    • 「ネットワーク情報の入力」を選択し、MDSインスタンスが属しているプライベートサブネットを選択
    • 「作成」をクリック
      image.png

接続の作成

  • OCI Webコンソールで「開発者サービス」から[データベース・ツール]:[接続]をクリック
    image.png

  • [接続の作成」をクリック
    image.png

  • 接続詳細 で以下の入力

    • 接続の名前
    • 「データベースの選択」を選択
    • データベース・クラウド・サービス:「MySQLデータベース」を選択
    • 作成済みのデータベース・システムを選択
    • ユーザー名:MySQLデータベースのユーザ名を入力
    • ユーザー・パスワード・シークレット:MySQLユーザのパスワードを格納したシークレットを選択
    • プライベート・エンドポイント:作成済みのプライベート・エンドポイントを選択
      image.png
  • SSL詳細 で SSLモード「必須」を選択し「作成」をクリック
    image.png

Oracle APEXのアプリケーション作成

Oracle APEX でWeb資格認証の作成

資格認証情報の収集

  • APIキーの生成
    OCI Webコンソールからユーザ名の「ユーザー設定]をクリック
    image.png

「APIキー」の「APIキーの追加」をクリック
image.png

表示されたAPIキーの追加画面で「APIキー・ペアの生成」新規にキーペアを生成し、「秘密キーのダウンロード」ボタンをクリックし、秘密キーファイルを保存(既存のpem フォーマットの秘密鍵・公開鍵のキーペアの使用も可能)
image.png

OCIユーザの詳細画面で「構成ファイルの表示」をクリックし以下の情報を準備
image.png

  • ユーザーのOCID
  • テナンシのOCID
  • fingerprint
    image.png

Web資格証明の作成

Oracle APEXのワークスペースにログイン
(OCIチュートリアル:105: ADBの付属ツールで簡易アプリを作成しよう(APEX) を参考)

  • アプリケーション・ビルダーをクリック
    image.png

  • ワークスペース・ユーティリティをクリック
    image.png

  • 「Web資格証明」をクリック
    image.png

  • 「作成」をクリック
    image.png

  • Web資格証明の名前を入力し、認証タイプを「Oracle Cloud Infrastructure(OCI)」を選択し以下を入力

    • 「認証タイプ」:Oracle Cloud Infrastruture(OCI)
    • 「OCIユーザーID」:OCIユーザのOCID
    • 「OCI秘密キー」:APIキー・ペアの生成で生成した秘密キーファイルの中身
    • 「OCIテナンシID」:テナンシのOCID
    • 「OCI公開キー・フィンガープリント」:fingerprint
  • 「作成」をクリック
    image.png

REST対応SQLサービスの作成

ワークスペース・ユーティリティから「REST対応SQLサービス」をクリック
image.png

「作成」をクリック
image.png

REST対応SQLサービスの名前を入力
エンドポイントURLには データベース・ツールで作成した接続のOCIDを以下のように指定します。

https://sql.dbtools.<region>.oci.oraclecloud.com/20201005/ords/<データベース・ツールで作成したMDSへの接続のOCID>

例 東京リージョンの場合

https://sql.dbtools.ap-tokyo-1.oci.oraclecloud.com/20201005/ords/ocid1.databasetoolsconnection.oc1.nrt.XXXXXXXX

image.png

  • REST対応SQLサービスの作成 - 認証
    作成したWeb資格証明を選択し、「作成」をクリック
    image.png

作成後、自動でREST対応SQLサービスのテストが実行され、「成功」となることを確認
image.png

Oracle APEXアプリケーションの作成

MySQL Database Service上の表を表示するAPEXアプリケーションとして対話モード・レポートを作成します。

  • Oracle APEX アプリケーション・ビルダーをクリック
    image.png

  • 「新規アプリケーション」を選択
    image.png

  • アプリケーションの「名前」を入力し「アプリケーションの作成」をクリック
    image.png

  • 「ページの作成」をクリック
    image.png

  • 「対話モード・レポート」をクリック
    image.png

  • 対話モード・レポートの作成

    • ページの名前を入力
    • データ・ソース:「REST対応SQLサービス」を選択
    • 作成した「REST対応SQLサービス」を選択
    • MDSの表/ビューの所有者、表/ビューの名前を選択
    • 「ページの作成」をクリック
      image.png
  • 「アプリケーションの実行」をクリック
    image.png

MDS(MySQL Database Service)のデータをOracle APEXのアプリケーションで表示されていることを確認
image.png

おわりに

Autonomous DatabaseのOracle APEX 22.1を使ってOCI MySQL Database Serviceのデータを表示することができました。

参考情報

1
1
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
1
1