オラクルのOCI Languageに無料枠があったので、APEXでOCI Languageの翻訳サービスを呼び出すアプリケーションを作ってみました。
APEXからOCIオブジェクト・ストレージを操作する(1) - APIユーザーの作成
APEXからOCIオブジェクト・ストレージを操作する(4) - Web資格証明の作成
上記の手順に追加して、APIキーを持つユーザーにOCI Languageサービスの呼び出しを許可するため、ポリシーを作成します。
APIユーザーが含まれているグループがAPEXObjectManagersである場合、ポリシー・ステートメントは以下になります。
allow group APEXObjectManagers to use ai-service-language-family in tenancy
APEX側の作業として、アプリケーション作成ウィザードを起動し、空のアプリケーションを作成します。
作成したアプリケーションのホーム・ページをページ・デザイナで開き、ページ・アイテムとボタンを作成します。
翻訳する文字列の言語を指定するページ・アイテムP1_SOURCE_LANGを作成します。タイプはテキスト・フィールド、ラベルはSource Langとします。ISO 639-1のコードを指定します。タイプを選択リストにすると、指定が容易になるでしょう。
翻訳する文字列を指定するページ・アイテムP1_SOURCE_TEXTを作成します。タイプはテキスト領域、ラベルはSource Textとします。
同様に翻訳先の言語を指定するページ・アイテムP1_TARGET_LANGを作成します。
翻訳結果を保持するページ・アイテムP1_TARGET_TEXTを作成します。
最後に送信ボタンを作成します。
識別のボタン名はSUBMIT、ラベルはSubmit、動作のアクションはデフォルトのページの送信のままとします。
左ペインでプロセス・ビューを開き、ボタンSUBMITを押した時に実行するプロセスTranslateを作成します。
ソースのPL/SQLコードとして以下を記述します。
サーバー側の条件のボタン押下時にSUBMITを選択します。
以上でアプリケーションは完成です。実行すると記事の先頭のGIF動画のように動作します。
今回作成したAPEXアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/oci-language-translate.zip
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完