はじめに
SAP の連携ツールである SAP Integration Suite を使用して SAP Datasphere からデータを抽出するには、以下の2つの方法があります。本ブログでは②の方法について紹介します。
① SAP Datasphere の OData サービスを利用したデータ抽出(前回のブログにて記載)
② SAP Datasphere データベースユーザでの JDBCを利用したデータ抽出(本ブログ)
今回は下記のバージョンで検証を行いました。
SAP Datasphere : バージョン2024.16.46
SAP Integration Suite : バージョン 3.66.0
手順
SAP Datasphere でデータベースユーザを作成するSAP Integration Suite で JDBC データソースを作成するSAP Integration Suite で Integration Flow を作成するSAP Integration Suite で Integration Flow をデプロイするSAP Integration Suite で Integration Flow の動作を確認する
ポイント
SAP Integration Suite 側で SAP HANA Cloud の JDBC ドライバはデフォルトでインストールされているため、ユーザ側で JDBC ドライバをアップロードする必要はありませんSAP Integration Suite から SAP Datasphere への接続はデータベースユーザでおこなうため、データベースユーザが参照できる範囲のオブジェクトのデータが抽出できます
ここから具体的な方法を紹介します。
手順1. SAP Datasphere で データベースユーザを作成する
※すでに作成済みの場合は飛ばしてもかまいません
1.SAP Datasphere にログインします
2.スペース管理から対象となるスペースを選択し、[編集] ボタンをクリックします
3.データベースアクセスタブに移動します
4.データベースユーザの [作成] ボタンをクリックします
5.データベースユーザの作成ダイアログで以下を入力し、[作成] ボタンをクリックします
データベースユーザ名の接尾辞: 任意のユーザ名(この例では URESHINO)スペーススキーマの読み込みアクセスを有効化 (SQL): チェックするその他の設定: (任意)
6.[保存] ボタンをクリックして設定を保存し、[デプロイ] ボタンをクリックしてデプロイします
7.ステータスが”有効”になったことを確認し、[情報ダイアログを開く] ボタン(iのマーク)をクリックします
8.データベースユーザ詳細画面で [新しいパスワードを申請] ボタンをクリックして、データベースユーザのパスワードを発行します
9.発行されたパスワードをメモ帳などにコピーしておきます
※ JDBC 接続を作成する際に、データベースユーザ名とホスト名、パスワードが必要になります
手順2. Integration Suite でのJDBCデータソースの作成
SAP Integration Suite から SAP Datasphere に JDBC 接続するための JDBC データソースを作成します
1.SAP Integration Suite にログインします
2.Monitor > Integrations and APIs をクリックします
3.JDBC Material のタイルをクリックします
4.JDBC Data Source タブを開き、[Add] ボタンをクリックします
5.Add JDBC Data Source ダイアログで以下の情報を入力し、[Deploy] ボタンをクリックします
Name: 任意の JDBC データソース名(この例では Datasphere_JP)Description: 任意Database Type: SAP HANA CloudUser: SAP Datasphere のデータベースユーザPassword: SAP Datasphere データベースユーザのパスワードJDBC URL: jdbc:sap://{手順1-9 SAP Datasphere ホスト名}:443/?encrypt=true
6.JDBC Data Source の一覧画面で Status が Deployed になっていることを確認します
手順3. Integration SuiteでIntegration Flowの作成
1.SAP Integration Suite のホームページから Design > Integrations and APIs をクリックします
2.[Create] ボタンをクリックしてコンテンツパッケージを作成します
3.以下の情報を入力して [Save] ボタンをクリックします
Name: 任意のパッケージ名(この例では Datasphere_JDBC_Integration_Flow)Technical Name: Name の内容から自動設定Short Description: 任意の概要説明
4.Artifacts タブに移動します
5.Add をクリックして表示されるコンテキストメニューから [Integration Flow] を選択します
6.Add Integration Flow ダイアログで以下の情報を入力し、[Add] ボタンをクリックします
Create を選択Name: 任意の Integration Flow 名(この例では Datasphere_JDBC_Integration_Flow)ID: Name から自動入力Runtime Profile: Cloud IntegrationDescription: 任意の説明Sender: 空白Receiver: 空白
デプロイ時に一回だけ起動し、SAP Datasphere からデータを取得する Integration Flow を作成します
7.Artifacts から追加した Integration Flow を選択します
8.右のような Integration Flow を作成します
Request Reply から Receiver への接続では、[JDBC] を選択します
9.Content Modifier の Message Body タブをクリックし、以下の情報を入力します
Type: ExpressionBody: 実行する SQL 文(この例では SELECT * FROM “{スペース名}”.”V_CutomerOrders”)
10.JDBC の Connection タブをクリックし、以下の情報を入力します
JDBC Data Source Alias: JDBC データソースの作成の手順で作成した JDBC データソース名(この例では Datasphere_JDBC)
手順4. Integration SuiteでIntegration Flowのデプロイ
作成した Integration Flow をデプロイします
1.[Save] ボタンをクリックします
2.[Deploy] ボタンをクリックします
3.Confirmation ダイアログで Runtime Profile を選択して、[Yes] ボタンをクリックします
4.Deployment ダイアログで [OK] ボタンをクリックします
5.Deployment Status タブをクリックし、Deployment Status と Runtime Status を確認します
6.Navigate to Manage Integration Content リンクをクリックします
7.Manage Integration Content 画面で実行状態を確認します
8.Integration Flow の実行をトレースするためにLog Configuration の Log Level を Trace に変更します
9.Integration Flow の Edit 画面で再度 [Deploy] ボタンをクリックし、Integration Flow をデプロイします
手順5. Integration SuiteでIntegration Flowの実行結果の確認
1.Monitor > Integrations and APIs をクリックします
2.Monitor Message Processing の All Artifacts タイルをクリックします
3.作成・デプロイした Integration Flow を選択します
4.Logs タブをクリックし、Log Level の Trace リンクをクリックします
5.Run Steps の End をクリックします
6.Message Content をクリックします
7.Payload タブをクリックして、データが取得できていることを確認します(XML形式)
以上ですべての手順が完了しました。最後までお読みいただきありがとうございました。
Special thanks to Ikeguchi Daisuke-san!
はじめにSAP の連携ツールである SAP Integration Suite を使用して SAP Datasphere からデータを抽出するには、以下の2つの方法があります。本ブログでは②の方法について紹介します。① SAP Datasphere の OData サービスを利用したデータ抽出(前回のブログにて記載)② SAP Datasphere データベースユーザでの JDBCを利用したデータ抽出(本ブログ)今回は下記のバージョンで検証を行いました。SAP Datasphere : バージョン2024.16.46SAP Integration Suite : バージョン 3.66.0手順SAP Datasphere でデータベースユーザを作成するSAP Integration Suite で JDBC データソースを作成するSAP Integration Suite で Integration Flow を作成するSAP Integration Suite で Integration Flow をデプロイするSAP Integration Suite で Integration Flow の動作を確認するポイントSAP Integration Suite 側で SAP HANA Cloud の JDBC ドライバはデフォルトでインストールされているため、ユーザ側で JDBC ドライバをアップロードする必要はありませんSAP Integration Suite から SAP Datasphere への接続はデータベースユーザでおこなうため、データベースユーザが参照できる範囲のオブジェクトのデータが抽出できますここから具体的な方法を紹介します。手順1. SAP Datasphere で データベースユーザを作成する※すでに作成済みの場合は飛ばしてもかまいません1.SAP Datasphere にログインします2.スペース管理から対象となるスペースを選択し、[編集] ボタンをクリックします3.データベースアクセスタブに移動します4.データベースユーザの [作成] ボタンをクリックします 5.データベースユーザの作成ダイアログで以下を入力し、[作成] ボタンをクリックしますデータベースユーザ名の接尾辞: 任意のユーザ名(この例では URESHINO)スペーススキーマの読み込みアクセスを有効化 (SQL): チェックするその他の設定: (任意)6.[保存] ボタンをクリックして設定を保存し、[デプロイ] ボタンをクリックしてデプロイします7.ステータスが”有効”になったことを確認し、[情報ダイアログを開く] ボタン(iのマーク)をクリックします8.データベースユーザ詳細画面で [新しいパスワードを申請] ボタンをクリックして、データベースユーザのパスワードを発行します9.発行されたパスワードをメモ帳などにコピーしておきます※ JDBC 接続を作成する際に、データベースユーザ名とホスト名、パスワードが必要になります手順2. Integration Suite でのJDBCデータソースの作成SAP Integration Suite から SAP Datasphere に JDBC 接続するための JDBC データソースを作成します1.SAP Integration Suite にログインします2.Monitor > Integrations and APIs をクリックします3.JDBC Material のタイルをクリックします4.JDBC Data Source タブを開き、[Add] ボタンをクリックします5.Add JDBC Data Source ダイアログで以下の情報を入力し、[Deploy] ボタンをクリックしますName: 任意の JDBC データソース名(この例では Datasphere_JP)Description: 任意Database Type: SAP HANA CloudUser: SAP Datasphere のデータベースユーザPassword: SAP Datasphere データベースユーザのパスワードJDBC URL: jdbc:sap://{手順1-9 SAP Datasphere ホスト名}:443/?encrypt=true 6.JDBC Data Source の一覧画面で Status が Deployed になっていることを確認します手順3. Integration SuiteでIntegration Flowの作成1.SAP Integration Suite のホームページから Design > Integrations and APIs をクリックします2.[Create] ボタンをクリックしてコンテンツパッケージを作成します3.以下の情報を入力して [Save] ボタンをクリックしますName: 任意のパッケージ名(この例では Datasphere_JDBC_Integration_Flow)Technical Name: Name の内容から自動設定Short Description: 任意の概要説明4.Artifacts タブに移動します5.Add をクリックして表示されるコンテキストメニューから [Integration Flow] を選択します 6.Add Integration Flow ダイアログで以下の情報を入力し、[Add] ボタンをクリックしますCreate を選択Name: 任意の Integration Flow 名(この例では Datasphere_JDBC_Integration_Flow)ID: Name から自動入力Runtime Profile: Cloud IntegrationDescription: 任意の説明Sender: 空白Receiver: 空白デプロイ時に一回だけ起動し、SAP Datasphere からデータを取得する Integration Flow を作成します7.Artifacts から追加した Integration Flow を選択します8.右のような Integration Flow を作成しますRequest Reply から Receiver への接続では、[JDBC] を選択します 9.Content Modifier の Message Body タブをクリックし、以下の情報を入力しますType: ExpressionBody: 実行する SQL 文(この例では SELECT * FROM “{スペース名}”.”V_CutomerOrders”)10.JDBC の Connection タブをクリックし、以下の情報を入力しますJDBC Data Source Alias: JDBC データソースの作成の手順で作成した JDBC データソース名(この例では Datasphere_JDBC)手順4. Integration SuiteでIntegration Flowのデプロイ作成した Integration Flow をデプロイします1.[Save] ボタンをクリックします 2.[Deploy] ボタンをクリックします3.Confirmation ダイアログで Runtime Profile を選択して、[Yes] ボタンをクリックします4.Deployment ダイアログで [OK] ボタンをクリックします5.Deployment Status タブをクリックし、Deployment Status と Runtime Status を確認します6.Navigate to Manage Integration Content リンクをクリックします7.Manage Integration Content 画面で実行状態を確認します8.Integration Flow の実行をトレースするためにLog Configuration の Log Level を Trace に変更します9.Integration Flow の Edit 画面で再度 [Deploy] ボタンをクリックし、Integration Flow をデプロイします手順5. Integration SuiteでIntegration Flowの実行結果の確認1.Monitor > Integrations and APIs をクリックします2.Monitor Message Processing の All Artifacts タイルをクリックします3.作成・デプロイした Integration Flow を選択します4.Logs タブをクリックし、Log Level の Trace リンクをクリックします5.Run Steps の End をクリックします6.Message Content をクリックします7.Payload タブをクリックして、データが取得できていることを確認します(XML形式)以上ですべての手順が完了しました。最後までお読みいただきありがとうございました。Special thanks to Ikeguchi Daisuke-san! Read More Technology Blogs by SAP articles
#SAP
#SAPTechnologyblog