SAP HANA XS Advanced

SAP Hana XS Advanced コネクタを使用すると、指定した OData サービスを使用して読み取りオペレーションを実行できます。

作成、更新、削除オペレーションを実行するには、SAP HANA XS Advanced で接続済みアプリケーションの OData サービスにカスタム エグジットを記述する必要があります。

サポート対象のバージョン

このコネクタでサポートされている最小バージョンは次のとおりです。
  • SAP HANA バージョン: HDB 2.00.078.00.1715149848
  • XS Advanced のバージョン: 1.2.2.240510120427

始める前に

SAP Hana XSA コネクタを使用する前に、次の作業を行います。

  • Google Cloud プロジェクトで次の操作を行います。
    • ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、ネットワーク接続をご覧ください。
    • コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
    • コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。

    • 次のサービスを有効にします。
      • secretmanager.googleapis.com(Secret Manager API)
      • connectors.googleapis.com(Connectors API)

      サービスを有効にする方法については、サービスを有効にするをご覧ください。

    以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。

SAP HANA XS Advanced アプリケーションの作成については、XS Advanced モデル用の SAP HANA デベロッパー ガイドをご覧ください。SAP HANA の詳細については、SAP HANA プラットフォームの概要をご覧ください。

コネクタを構成する

コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。

  1. Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [+ 新規作成] をクリックして [接続の作成] ページを開きます。
  3. [ロケーション] セクションで、接続のロケーションを選択します。
    1. リージョン: プルダウン リストからロケーションを選択します

      サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。

    2. [NEXT] をクリックします。
  4. [接続の詳細] セクションで、次の操作を行います。
    1. コネクタ: 使用可能なコネクタのプルダウン リストから [SAP HANA XS Advanced] を選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに、接続インスタンスの名前を入力します。

      接続名は次の条件を満たす必要があります。

      • 接続名には英字、数字、ハイフンを使用できます。
      • 文字は小文字のみを使用できます。
      • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
      • 接続名は 49 文字以内で指定してください。
    4. 必要に応じて、接続インスタンスの [説明] を入力します。
    5. 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは Error に設定されています。
    6. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    7. 必要に応じて、接続ノードの設定を構成します。

      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    8. 必要に応じて、次のプロパティを入力します。
      • Odata Version 使用する OData のバージョンです。デフォルトでは、コネクタはサービスが使用しているバージョンを自動的に特定しようとします。
      • パラメータ エンティティ セット: 接続で使用されている Odata サービスで公開されている計算ビューのパラメータ エンティティ セット名をカンマ区切りのリストとして指定します。
      • 展開のサポート: 基本エンティティセットからナビゲーション プロパティを取得できるかどうかを示すチェックボックスです。
      • 数式のサポート: OData サービスがサーバー側の数式をサポートしているかどうかを示すチェックボックスをオンにします。
      • ETag を使用する: OData ソースが ETag を使用するかどうかを示すチェックボックスをオンにします。
    9. 必要に応じて、接続インスタンスの [Supports Expand] チェックボックスをオンにします。この接続プロパティは主に限定 OData API で使用され、ベース エンティティセットからナビゲーション プロパティを取得できるかどうかを決定します。
    10. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
    11. [NEXT] をクリックします。
    12. SSL の次のプロパティを入力します。
      • トラストストア: このプロパティでトラストストアを指定します。ラジオボタンを選択して、[パブリック]、[プライベート]、[安全でない接続] のいずれかから信頼ストアを選択できます。
      • カスタム トラストストア: このプロパティは、PEM 形式のカスタム トラストストアを含むシークレットを選択するために使用します。
    13. 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
    14. [NEXT] をクリックします。
  5. [宛先] セクションに、接続する Odata サービス エンドポイントの詳細を入力します。
    1. Destination Type: 宛先の種類を選択します。
      • 宛先の種類: プルダウンから [ホストアドレス] を選択します。
      • ホスト 1: Odata エンドポイントとポート番号を入力します。

      他の宛先を入力するには、[+ 宛先を追加] をクリックします。

    2. 必要に応じて、Oauth 2.0 認証の場合に OAuth トークンの取得に使用される XSUAA URL のホスト情報を入力することもできます。プルダウンからホストアドレスを選択します。
    3. [NEXT] をクリックします。
  6. [認証] セクションで、認証の詳細を入力します。
    1. [認証タイプ] を選択し、関連する詳細を入力します。

      SAP HANA XS Advanced コネクタでサポートされる認証タイプは次のとおりです。

      • ユーザー名とパスワードを指定する
      • OAuth 2.0 - 認証コード
    2. これらの認証タイプの構成方法については、認証を構成するをご覧ください。

    3. [NEXT] をクリックします。
  7. Review: 接続と認証の詳細を確認します。
  8. [作成] をクリックします。

認証を構成する

使用する認証に基づいて詳細を入力します。

  • ユーザー名とパスワード                 
    • ユーザー名: SAP HANA XS Advanced ユーザー名
    • パスワード: SAP HANA XS Advanced ユーザー名に関連付けられたパスワードを含む Secret Manager の Secret。
  • OAuth 2.0
    • クライアント ID: アクセス トークンのリクエストに使用されるクライアント ID
    • クライアント シークレット: 作成した接続されているアプリのクライアント シークレットを含む Secret Manager のシークレットです。
    • スコープを入力する(省略可): 必要なスコープをカンマ区切りのリストで入力します。

認証コードの再認可

OAuth 2.0 認証タイプを使用していて、XSA Advanced に接続されたアプリケーションの構成を変更した場合は、SAP HANA XS Advanced 接続を再認可する必要があります。接続を再認可するには、次の手順を行います。

  1. [接続] ページで必要な接続をクリックします。

    これにより、[接続の詳細] ページが開きます。

  2. [編集] をクリックして、接続の詳細を編集します。
  3. [認証] セクションで [OAuth 2.0 - 認証コード] の詳細を確認します。

    必要に応じて必要な変更を加えます。

  4. [保存] をクリックします。接続の詳細ページに移動します。
  5. [認証] セクションで [承認の編集] をクリックします。これにより、[承認] ペインが表示されます。
  6. [Authorize(承認)] をクリックします。

    認可が成功すると、[接続] ページの接続ステータスが「有効」に設定されます。

接続作成後の追加手順

認証に OAuth 2.0 - Authorization code を選択した場合は、接続の作成後に次の追加の手順を行う必要があります。

  1. 接続ページで、新しく作成された接続を見つけます。

    新しいコネクタの [ステータス] は [承認が必要] になります。

  2. [承認が必要] をクリックします。

    これにより、[承認の編集] ペインが表示されます。

  3. [リダイレクト URI] の値を外部アプリケーションにコピーします。
  4. 認可の詳細を確認します。
  5. [Authorize(承認)] をクリックします。

    認可が成功すると、[接続] ページの接続ステータスが「有効」に設定されます。

統合で SAP Hana XS Advanced 接続を使用する

接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

  • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
  • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。

エンティティ、オペレーション、アクション

すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。

  • エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。

    ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、Entities リストは空になります。

  • オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。

    使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは Operations リストに含まれません。

  • アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

システムの上限

SAP HANA XS Advanced コネクタは、ノードごとに 1 秒あたり最大 12 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。

Integration Connectors に適用される上限の詳細については、上限をご覧ください。

エンティティ

SAP HANA XS Advanced コネクタはエンティティのみをサポート

エンティティ オペレーションの例

例 - エンティティのレコードを一覧表示する

この例では、Users エンティティのレコードを一覧表示します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Users を選択します。
  3. [List] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、要件に応じて filterClause を設定できます。

    たとえば、フィルタ句を employeeCode='5100' and startDate='2010-01-01 00:00:00' に設定すると、employeeCode が 5100 であり、startDate が 2010-01-01 00:00:00 であるレコードのみが一覧表示されます。

例 - エンティティから単一レコードを取得する

この例では、Users エンティティからレコードを取得します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から User を選択します。
  3. [Get] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力 セクションで [entityId] をクリックし、[デフォルト値] フィールドに 103032 を入力します。

    ここで、103032Users エンティティの主キー値です。

例 - エンティティからレコードを削除する

この例では、Users エンティティからレコードを削除します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Users を選択します。
  3. [Delete] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタタスクの [タスク入力] セクションの [entityId] をクリックし、[デフォルト値] フィールドに 113132 を入力します。

    または、エンティティに複合主キーがある場合、entityId を指定する代わりに、filterClause を設定できます。たとえば、employeeCode='5100' and startDate='2010-01-01 00:00:00' です。

例 - エンティティにレコードを作成する

この例では、Users エンティティに レコードを作成します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Users を選択します。
  3. [Create] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "employeeCode": "5100",
    "startDate": "2010-01-01 00:00:00.0",
    "country": "US"
    }
  5. 統合が成功すると、コネクタタスクの connectorOutputPayload フィールドに create オペレーションのレスポンスが返されます。

例 - エンティティ内のレコードを更新する

この例では、Users エンティティに レコードを作成します。

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Users を選択します。
  3. [Update] オペレーションを選択してから、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、connectorInputPayload をクリックし、Default Valueフィールドに次のような値を入力します。
    {
    "country": "IN"
    }
  5. [コネクタタスクの [タスク入力] セクションの [entityId] をクリックし、[デフォルト値] フィールドに 113132 を入力します。

    または、エンティティに複合主キーがある場合、entityId を指定する代わりに、filterClause を設定できます。たとえば、employeeCode='5100' and startDate='2010-01-01 00:00:00' です。

  6. 統合が成功すると、コネクタタスクの connectorOutputPayload フィールドに update オペレーションのレスポンスが返されます。

Google Cloud コミュニティの助けを借りる

Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。

次のステップ