2024年5月15日水曜日

Streamlitで作成したアプリケーションをOracle APEXのURLリージョンに埋め込む

Streamlitで作成したアプリケーションをOracle APEXのURLリージョンに埋め込んでみます。

埋め込みのテストには、StreamlitのGenerative AIのexmaple codeとして紹介されているアプリケーションを使用します。

Oracle APEXのURLリージョンとしてStreamlitのアプリを埋め込んだ結果です。同じ設定のURLリージョンですが、通常のページにURLリージョンを配置した場合と、非モーダル・ページにURLリージョンを配置した場合の2種類のページを作成しています。


以下、簡単に実装を紹介します。

Streamlitのアプリケーションですが、exampleのhttps://llm-examples.streamlit.app/を埋め込んでいます。このStreamlitのアプリケーションをiFrameに埋め込むために、URLの引数として?embed=Trueを追加します。

iFrameにアプリケーションの埋め込むために、リージョンを作成します。

タイプURLを選択します。リージョンの装飾は不要なので外観テンプレートとしてBlank with Attributes (No Grid)を選択します。リージョンの高さは自動調整されないため、Universal ThemeのLayout Modifiersを使って、CSSクラスh800(高さ800px)を指定します。


リージョンの属性を開きます。

設定URLhttps://llm-examples.streamlit.app/?embed=Trueとします。組入れモードIFrameです。IFrame属性width=100% height=100%を設定します。


Streamlitを埋め込むリージョンの設定は以上です。

主となるAPEXアプリケーションとは独立した画面としてStreamlitのアプリケーションを開く場合は、URLリージョンを含むページの外観ページ・モード非モーダル・ダイアログに変更します。


非モーダル・ダイアログは、通常のページと同じ手順で開きます。ボタンの動作アクションとしてこのアプリケーションのページにリダイレクトを選択し、ターゲットとなる非モーダル・ダイアログのページ番号を指定します。


今回の記事は以上になります。

Oracle APEXのアプリケーション作成の参考になれば幸いです。