こちらの記事の続きです。
前回に引き続き、こちらのTutorialを参照しています。 Tutorialでは合計15分かかると記されていますが、実際に操作しながら進めると15分では全然時間が足りません。
user-provided serviceの作成
プロジェクトが作成され、SAP Business Application Studioの基本的な操作方法がわかったので、次のステップはuser-provided serviceを作成することです。これにより、プロジェクトがデータベース内のデータにアクセスできるようになります。
SAP HANA Projectsパネルで、プロジェクトを展開します。
カーソルをデータベース接続セクションに合わせると、プラスアイコン(add database connection)が表示されます。このオプションを使用すると、新しいデータベース接続を追加できます。アイコンをクリックします。
接続タイプを選択するフィールドで、ドロップダウンメニューから「create user-provided service instance」オプションを選択します。
サービスの名前を入力し、「ユーザーとロールと権限の管理」チュートリアルのステップ2で以前に作成したUPS_GRANTOR
ユーザーのユーザー名とパスワードを入力します。
「Generate hdbgrants file」チェックボックスを選択し、Addボタンをクリックします。
プロジェクトから直接多くのユーザーに一連の権限を割り当てるために、.hdbgrantsファイルを使用します。このファイルは、接続されたデータベースで入力された権限を付与するためにユーザー提供サービスが使用されることを指定します。
このステップはプロジェクトの始めに一度だけ行う必要があります。追加の権限が必要な場合にのみ、ファイルを修正する必要があります。
hdbgrantsファイルの修正
ファイルエクスプローラーで、.hdbgrantsファイルを開きます。ここでは、異なるユーザーグループに付与できるすべての異なるタイプの権限のテンプレートを確認できます。オブジェクト所有者ユーザーとアプリケーションユーザーのための専用セクションがあります。
このTutorialの目的のために、以前に作成したロールをオブジェクト所有者とアプリケーションユーザーに付与します。オブジェクト所有者にはロールgenericRoleForOO
が、アプリケーションユーザーにはロールgenericRoleForAP
が割り当てられます。
これを行うには、hdbgrantsファイルの内容を次のものに置き換えます:
{
"MyUPS": {
"object_owner": {
"global_roles": [
{
"roles": ["genericRoleForOO"]
}
]
},
"application_user": {
"global_roles": [
{
"roles": ["genericRoleForAP"]
}
]
}
}
}
プロジェクトのデプロイ
データベースへの接続が確立され、権限ファイルが作成されたので、プロジェクトをデプロイできます。
プロジェクト名の隣に、ロケットの形をした小さなアイコン(デプロイ)が表示されます。それをクリックしてプロジェクトをデプロイします。デプロイが成功裏に完了すると、画面の下部に完了メッセージ(Deploy ended at〜)が表示されます。が、、、エラー!(涙)
仕事なら原因調査するところですが、今回はTrialですので操作を進めることを優先します。
HDI containerを開きます。
以下のSQL文を実行し、HDIコンテナ内からSFLIGHTスキーマのテーブルにアクセスできるようになったことを確認します。
SELECT * FROM SFLIGHT.SAIRPORT;
以上です。
SAP Business Application Studioで開発プロジェクトを設定し、user-provided service と.hdbgrantsファイルを使用してデータベースに接続する方法を学びました。これで、計算ビューを作成する準備が整いました。
2024年2月24日追記
プロジェクトのデプロイに失敗した理由が分かりましたので追記です。
どうやら、UPS_GRANTORの初期パスワードがExpireしてしまっていたようです。