こんにちは!テリロジーのY.Tです。
今回はSQLDeveloper WebのREST APIのご紹介をしていきます。
・SQLの実行や編集:
・【OCI SQL Developer Web】クエリの実行
・データベースへのデータのアップロード:
・【OCI SQL Developer Web】データのアップロード
・【OCI SQL Developer Web】オブジェクトストレージからのデータロード
・REST APIの構築 ←今回ご紹介する内容!
・データ分析
・E-R図の自動作成
・データベースのユーザ管理など
ここでは、SQL Developer Webを利用し、REST APIを構築し、GETでアクセスしたいと思います。
目次:
1.APIユーザーの作成
「【OCI SQL Developer Web】データのアップロード」の記事で作成したAutonomous Databaseから、アクセスしていきます。OCI管理コンソールから、「Oracle Database」 > 「Autonomous Database」へ推移し、作成済みの
データベースを選択します。「サービス・コンソール」を選択後、「開発」 > 「SQL Developer Web」をクリック
します。特権ユーザーでアクセスし、「データベース・ユーザー」からAPIユーザを作成していきます。

「+ユーザーの作成」をクリックし、ユーザを作成していきます。

・ユーザー名、パスワード:任意の文字列を入力
・REST対応:有効 ※有効化することで、作成したアカウントでAPIを作成できます
・承認が必要:無効
・REST別名:任意の文字列を入力 ※初期値としてユーザ名が入力されています
・URLマッピングタイプ:BASE_PATH

次に、作成したAPIユーザーにデータベースにデータをロードする許可を与えます。「SQL」に推移します。

以下のSQLを実行します。
GRANT UNLIMITED TABLESPACE TO <APIユーザー名>;

2.データのアップロード
特権ユーザーからサインアウトし、作成したAPIユーザでSQL Developer Webにサインインします。
初めに「SQL」からデータを登録していきます。

画面下部の「データのロード」から、データを登録していきます。
今回は「【OCI SQL Developer Web】データのアップロード」で利用したMOVIES.csvのデータを利用します。

3.REST APIの構築
2.データのアップロードで登録したデータのREST APIを構築していきます。「REST」をクリックします。

APIのURIは以下のように作成していきます。
https://<ベースURI>/ords/<REST別名>/<モジュール名>/<テンプレート名>
<ベースURI>:あらかじめ決まっているURI
<REST別名>:ユーザ作成時に指定した値
<モジュール名>、<テンプレート名>:RESTのページから作成し、設定。また、APIのURIでアクセス可能な
情報は「ハンドラ」を作成する中で、SQLで設定
3-1.モジュールの作成
はじめに、「モジュール」>「モジュールの作成」へ推移し、APIのベースパスとなるモジュールを作成していきます。
・モジュール名、ベースパス:任意に入力
・公開:有効 ※ここでは公開するAPIを作成するため有効化しています
・作成後モジュールに移動:有効

3-2.テンプレートの作成
次に「+テンプレートの作成」をクリックし、テンプレートを作成していきます。
テンプレートで指定したヘッダの優先度、またHTTPエンティティ・タグ・タイプ(ETag)を設定することができます。優先度では数字が大きいほうが優先度が高くなります。
また、HTTPエンティティ・タグ・タイプは「セキュア・ハッシュ」、「ETag問い合わせ」(クエリを利用し定義)、
「なし」のいずれかを選択することが可能です。
ここでは優先度はデフォルトの「0」、HTTPエンティティ・タグ・タイプは「セキュア・ハッシュ」を指定します。
・URIテンプレート:任意に入力
・優先度:0
・HTTPエンティティ・タグ・タイプ:セキュア・ハッシュ
・作成後ハンドラに移動:有効

3-3.ハンドラの作成
最後にハンドラを作成し、URIで表示させる情報をSQLで入力します。
メソッドはGET、POST、PUT、DELETEから選択できますが、ここではGETを選択します。
また、クエリは先ほどアップロードしたデータのすべてを取得するSQL文にします。
・メソッド:GET
・ページ当たりのアイテム数:25
・ソース・タイプ:収集問合わせ
・SQL:SELECT * FROM MOVIES

4.GETリクエストの実行
作成したURIにアクセスすると、ハンドラに設定したSQLの結果が確認できます。


また、作成したモジュールのメニューから「非公開」を選択し、非公開設定にすると公開を停止できます。

非公開時は以下のように「404 Not Found」と表示されます。

まとめ
今回はOCI SQL Developer WebでREST APIを公開する方法についてご紹介しました。
次回はSQL Developerで作成したAPIをSQL Developer Webから確認していきたいと思います!
最後までお読みいただき、ありがとうございました。🙇