はじめに
CData Japan技術ディレクターの桑島です。本記事では、SAP S/4 HANA CloudのデータをCData Syncを使ってBigqueryに同期する手順をご紹介します。
SAP S/4 HANA Cloud とは
SAP S/4 HANA Cloudは、インメモリー型データベースエンジンSAP HANAを使用したERPアプリケーションのSaaSです。
www.sap.com
SAP S4/HANA Cloudには、SOAPとODataプロトコルで実装されているAPIがあり、外部システムやアプリケーションとデータ連携を行うことが可能です。APIドキュメントは以下のページから参照することができます。
api.sap.com
Google Bigqeury とは
Google Bigqeuryは、Google Cloud Platform(GCP)内のデータベースサービスで、ユーザーがビッグデータから十分な情報を得てビジネス上の意思決定を行えるように設計された、サーバーレスでスケーラビリティと費用対効果が高いデータ ウェアハウスです。
cloud.google.com
CData Syncとは
CData Syncは、クラウドサービスからDB/DWH へのデータ連携/パイプラインをノーロードで実現するデータ同期ツールです。
www.cdata.com
CData Syncの詳細な説明はこちらの記事をご覧ください。
www.cdatablog.jp
前提
手順
SAP S/4 HANA Cloud のAPIアクセス
SAP S/4 HANA CloudからAPI経由でデータを取得するにはAPIKeyが必要となります。APIKeyの取得についてはこちらの記事をご参照ください。
www.cdatablog.jp
Google BigQueryのデータセット作成
Google BigQueryの管理コンソールからProjectとその中にDatasetを作成します。本手順では以下の名称を付与しました。
- Project : cdattajp
- Dataset : SapS4HanaCloud
CData Syncのインストールおよび初期設定
CData Syncのインストール、および、初期設定は、こちらのハンズオンセミナーの資料の「CData Sync製品のインストール, ライセンスのアクティベーション」の章をご覧ください。
https://www.cdata.com/jp/blog/2019-12-02-160226
データソースへの接続設定
CData Syncの管理コンソールにログインします。接続タブを開き、接続の追加内のデータソース タブ内の「+Add More」ボタンをクリックします。
SAP S/4 HANA Cloud への接続には、SAP Gateway コネクタを利用します。検索窓から「sap」などキーワードで検索します。
SAP Gateway コネクタをダウンロード&インストールします。インストール後はSyncアプリケーションの再起動が自動で走ります。
再度、CData Syncの管理コンソールにログインます。接続タブを開き、接続の追加内のSAP Gatewayが追加されていることを確認して開きます。
接続設定 > 設定タブの以下の項目をセットします。
- 名前 : 本手順では SAPGateway
- URL:SAP S/4 HANA CloudのAPIのエンドポイント
※ 本例ではURLに「Sales Order (A2X) | API」のエンドポイントとして以下の文字列を指定
https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV
続いてAdvancedタブに移り、以下の項目をセットします。
- Authentication > Api Key : SAP S/4 HANA CloudのAPIにアクセスするためのAPI Key
セットしたら設定タブに戻り、「接続のテスト」を実行してください。「接続に成功しました。」のメッセージが表示されれば、CData SyncからSAP S/4 HANA Cloud への接続は成功です。接続情報を保存します。
続いてGoogle BigQueryへの接続設定を行います。接続の追加内の同期先タブ内にGoogle BigQueryが存在することを確認してクリックします。
接続設定 > 設定タブの以下の項目をセットして「接続」をクリックします。
- 名前 : 本手順では Bigquery
- Dataset Id:本手順では SapS4HanaCloud
- Project Id : 本手順では cdattajp
OAuthの認可プロセスが走り、BigQueryへのログインします。
認可プロセスが完了すると以下のように「Success!」が表示されればBigQueryへの接続は成功です。
接続タブの接続済みの接続に、SAP Gateway、および、GoogleBigQueryへの接続情報が作成されれば完了です。
同期ジョブの作成
それでは、SAP S/4 HANA Cloud からGoogleBigQueryにデータを流し込むジョブを作成します。ジョブタブを開き「+ジョブを追加」ボタンをクリックします。新しいジョブ作成のダイアログが表示されるので、以下の項目をセットして「+作成」します。
- ジョブ名 : 本手順では SAPS4HANACloud2Bigquery
- ソース : SAPGateway [SAPGateway]を選択
- 同期先 : Bigquery [GoogleBigQuery]を選択
ジョブ設定画面が表示されます。ジョブ設定内の「+テーブルを追加」ボタンをクリックします。
テーブルを追加ダイアログが表示され、SAP S/4 HANA Cloud のAPIエンドポイントがテーブルリストとして表示されます。 本手順では、「A_SalesOrder」を選択して追加します。
「A_SalesOrder」が追加されたことを確認、変更を保存して、ジョブを手動で実行してみます。
ジョブのステータスが「Running....」に変わります。
ジョブが正常に終了するとステータスに同期された件数「Records affected *****」が表示されます。
それでは、データが同期されたかをBigQuery側を確認してみます。指定したデータセット(SapS4HanaCloud)内に「A_SalesOrder」というテーブルが追加されていることを確認します。こちらのテーブルにselect文のQueryを発行して SAP S/4 HANA CloudのSales Orderのデータが取り込まれていることを確認します。
ジョブを定期的に実行する場合は、ジョブ設定内のスケジュールタブを開き、「スケジューラを有効にする」をオンにして、Run Job:で実行サイクルを設定します。例えば月次サイクルで月末日に実行する場合は、Run Job: をMonthlyに設定して、曜日/日付:をLastに設定します。
本設定でSalesOrderの月末スナップショットをBigqueryに蓄積することが可能です。
まとめ
いかがでしたでしょうか。今回は、CData Syncを使ってSAP S/4 HANA CloudのデータをGogoleBigQueryに同期する手順をご紹介しましたが、CData Syncを利用することで、SAP S/4 HANA Cloud以外のデータソース をBigQuery に同期したり、BigQuery以外のRDBなどのデータベースへの同期も可能です。CData Sync製品は30日の評価版もございますので是非お試しください。
www.cdata.com
関連コンテンツ