Salesforce の External Services から HubDB に接続

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
CData Connect AI を使用して、OpenAPI 経由で Salesforce External Services と HubDB をセキュアに接続します。API を公開することで、シームレスな統合とプラットフォーム間でのセキュアでスケーラブルなリアルタイムデータ共有を実現します。



CData Connect AI を使用すると、Salesforce などのクラウドベースアプリケーションや Salesforce モバイルアプリなどのモバイルアプリケーションからHubDB のデータにアクセスできます。この記事では、CData Connect AI を使用して Salesforce External Services 経由でHubDB のデータにアクセスする方法をご紹介します。

Salesforce から HubDB に接続

概要

手順の概要は以下のとおりです。

  1. 設定:(オプション)CData Connect AI で HubDB データソースを設定し、ワークスペースを追加、ワークスペースにアセットを追加して、パーソナルアクセストークン(PAT)を生成します。
  2. 接続: OpenAPI を使用して Salesforce を CData Connect AI にリンクします。
  3. 活用: 接続したデータを Salesforce で使用します。

前提条件

開始する前に、以下を準備してください。

  1. 有効な HubDB アカウントと認証情報
  2. CData Connect AI アカウント。こちらからログインまたは無料トライアルにサインアップしてください。
  3. Salesforce アカウント


Connect AI から HubDB に接続

CData Connect AI は、シンプルなポイント&クリックのインターフェースでデータソースに接続できます。

  1. Connect AI にログインして「Sources」をクリック、次に「 Add Connection」をクリック
  2. 接続の追加
  3. 接続を追加パネルから「HubDB」を選択
  4. データソースの選択
  5. HubDB に接続するために必要な認証プロパティを入力します。

    HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。

    カスタムOAuthアプリを使用する

    すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。

    アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。

    1. HubSpotアプリ開発者アカウントにログインします。
      • アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
    2. 開発者アカウントのホームページで、アプリタブをクリックします。
    3. アプリを作成をクリックします。
    4. アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
    5. 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
      • デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
      • Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
    6. アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
    7. 認証タブで、クライアントIDとクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
    8. スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。

      テーブルにアクセスするには、最低限以下のスコープが必要です:

      • hubdb
      • oauth
      • crm.objects.owners.read
    9. 変更を保存をクリックします。
    10. 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
      • 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
      • コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
      • アプリを接続をクリックします。結果のタブは閉じて構いません。

    プライベートアプリを使用する

    HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。

    以下の手順に従ってプライベートアプリケーショントークンを生成できます:

    1. HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
    2. 左サイドバーメニューで、統合 > プライベートアプリに移動します。
    3. プライベートアプリを作成をクリックします。
    4. 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
    5. スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
    6. テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
    7. アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
    8. アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
    9. コピーをクリックして、プライベートアプリケーショントークンをコピーします。

    接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。

    接続設定(Salesforce の例)
  6. 「Save & Test」をクリック
  7. HubDB 接続の追加ページで「Permissions」タブに移動し、ユーザーベースの権限を更新します。 権限の更新

パーソナルアクセストークンを追加

REST API、OData API、または仮想 SQL Server を通じて Connect AI に接続する場合は、パーソナルアクセストークン(PAT)を使用して認証を行います。アクセス管理を細かく制御するため、サービスごとに個別の PAT を作成することをお勧めします。

  1. Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
  2. 設定ページで「Access Tokens」セクションに移動し、「 Create PAT」をクリックします。
  3. PAT に名前を付けて「Create」をクリックします。 新しい PAT の作成
  4. パーソナルアクセストークンは作成時にのみ表示されます。必ずコピーして、今後の利用のために安全に保管してください。

Salesforce 向けに HubDB エンドポイントを設定

HubDB への接続が完了したら、使用したいテーブル用のワークスペースを作成します。

  1. 「Workspaces」ページに移動し、「 Add」をクリックして新しいワークスペースを作成します(または既存のワークスペースを選択)。 Workspaces ページ 新しいワークスペースの追加
  2. 「 Add」をクリックして、ワークスペースに新しいアセットを追加します。
  3. HubDB 接続(例: HubDB1)を選択し、「Next」をクリックします。 アセットの選択(Salesforce の例)
  4. 使用したいテーブルを選択し、「Confirm」をクリックします。 テーブルの選択(Salesforce の例)
  5. ワークスペースの OpenAPI URL をメモしておきます(例: https://cloud.cdata.com/api/openapi/v3/{workspace_name}...)

選択したテーブルのカラムデータ型を確認

  1. HubDB のデータテーブルがアセットとして追加されたら、アセットを選択し、Columns タブからカラム名とデータ型をメモします。 カラム名とデータ型をメモ
  2. Preview タブで、後で参照するためにテーブル内の現在のデータをプレビューします。 現在のデータをプレビュー
  3. 左パネルから Users をクリックし、ユーザー名(例: [email protected])を検索してクリックします。
  4. Edit Users 画面で、該当のユーザーにエンティティ(ワークスペース)に対するすべての権限(Select、Insert、Update、Delete、Execute)を付与します。

接続、PAT、ワークスペースの設定が完了したら、Salesforce からHubDB のデータに接続する準備は完了です。

HubDB を External Service として接続

名前付き資格情報の作成

以下の手順に従って、CData Connect AI が生成する OpenAPI に Salesforce から接続します。

  1. Salesforce にログインし、Setup に移動します。 Salesforce にログインして Setup を開く
  2. 検索バーで Named Credentials を検索してクリックします。 Named Credentials を検索
  3. New -> New Legacy を選択します。 New Legacy を選択
  4. New Named Credential 画面で以下の詳細を入力します。
    • Label: 任意のラベルを入力
    • Name: 名前付き資格情報の名前を入力
    • URL: https://cloud.cdata.com
    • Identity Type: Named Principal
    • Authentication Protocol: Password Authentication
    • Username: CData Connect AI のユーザー名を入力。CData Connect AI インターフェースの右上に表示されています(例: [email protected])
    • Password: Settings ページで生成した PAT を入力
    • Generate Authorization Header: チェックボックスを有効化
  5. Save をクリックして詳細を保存します。

    Named Credential の詳細を保存

External Service の作成

  1. 検索バーで External Services を検索してクリックします。 External Services を検索
  2. Add an External Service ページで、Select an API Source の下の From API Specification をクリックします。 「From API Specification」をクリック
  3. Enter an Existing Service ページで、Modify Exiting Registration Details の下に以下の詳細を入力します。
    • External Service Name: External Service を識別する名前を入力
    • Description: External Service の説明を入力(必須項目ではありません)
    • Service Schema: Relative URL
    • Select a Named Credential: OpenAPI
    • URL: Connect AI から OpenAPI URL をコピーし、https://jp.cdata.com を削除して残りの URL を保持します。URL がスラッシュ "/api..." で始まっていることを確認してください。
    External Service の詳細を入力

    接続が成功すると、「Schema validation completed successfully!」というメッセージが画面に表示されます。Save & Next をクリックします。

  4. Select Operations 画面ですべてのエンティティを選択します。Next をクリックします。 すべての Operations エンティティを選択
  5. Review External Services Actions 画面に、スキーマから生成されたすべてのアクションが表示されます。Finish をクリックします。 External Services のアクションを確認
  6. External Services ページに、作成したすべての External Services が表示されます。 すべての External Services を表示するページ

新しいフローの作成

  1. 検索バーで Flows を検索してクリックします。
  2. New Flow をクリックします。 New Flow をクリック
  3. Start From Scratch オプションを選択し、Screen Flow をクリックします。 ゼロから開始 Screen Flow を開始
  4. Flow Builder 画面で、Screen Flow と End の間にある「」をクリックします。
  5. Add Element から Screen を選択します。 スクリーンを追加
  6. New Screen ウィンドウで、Label に「Input Screen」と入力すると、API Name が自動的に入力されます。 Label に Input Screen と入力
  7. 次に、更新したいテーブルに基づいて、フローに追加するコンポーネントのカラムデータ型をメモします。
  8. orderid カラムの場合、Components 検索バーで「Number」コンポーネントを検索してクリックします。Label に「Enter Order ID」と入力すると、API Name が自動的に入力されます。Require チェックボックスを有効にし、手順 9 と 10 にも適用します。 Order ID ラベルを追加
  9. ordername カラムの場合、Components 検索バーで「Text」コンポーネントを検索してクリックします。Label に「Enter Order Name」と入力します。 Order Name ラベルを追加
  10. personid カラムの場合、Components 検索バーで「Number」コンポーネントを検索してクリックします。Label に「Enter Person ID」と入力します。 Person ID ラベルを追加
  11. Done をクリックすると、Input Screen が Flow Builder に追加されます。 Done をクリック
  12. フロー内の Input Screen の下に Action エレメントを追加します。 Action エレメントを追加
  13. Search Actions で、新しく作成した External Service(この場合は OpenAPI1)を検索してクリックします。 新しく作成した External Service を検索
  14. Create Orders をクリックします。 Create Orders
  15. Label に名前を入力すると、API Name が自動的に入力されます。 Label に名前を入力
  16. Set Input Values for the Selected Action の下の検索バーをクリックし、 New Resource -> Variable を選択します。 New Resource を選択 Variable を選択
  17. New Resource ウィンドウで、以下の詳細を入力します。
    • Resource Type: Variable
    • API Name: Body
    • Data Type: Apex-Defined
    • Apex Class: ExternalService__CDataWorkspace2e
    • Availability Outside the Flow:
      • Available for input: チェックボックスを有効化
      • Available for output: チェックボックスを有効化
      新しいリソースの詳細を追加 Apex Class を追加
  18. 新しいエレメント Assignment を追加し、Label name を「SendBody」にします。API Name は自動的に入力されます。 「Assignment」エレメントを追加
  19. Set Variable Values の下に以下の値を設定します。
    • Variable: Body>orderid; Operator: Equals; Value: Input Screen>Enter Order ID
    • Variable: Body>ordername; Operator: Equals; Value: Input Screen>Enter Order Name
    • Variable: Body>personid; Operator: Equals; Value: Input Screen>Enter Person ID
    Variable「Body」をクリック Order ID をクリック Value として Enter Order ID を選択 3 つの Variable 値をすべて入力
  20. Action エレメントの下にもう 1 つの Screen エレメントを追加します。 新しい Screen エレメントを追加
  21. Label を「Display」にします。 Label を「Display」にする
  22. Components で、「Display Text」コンポーネントを検索してクリックします。
  23. API Name を「Display_Result」に設定し、Inside a resource 検索バーで Create a new order -> response code を選択します。Done をクリックします。 「Display Text」を検索して API name を追加 「Create a new order」アクションを検索して「responseCode」をクリック Done をクリック
  24. フローの準備ができました。Save をクリックしてフローを保存し、Label にフロー名(この場合は「CreateOrdersPage」)を追加します。Save をクリックします。 Save をクリックしてフローを保存 Label にフロー名を追加
  25. フローが Flow Builder 画面に表示されます。Activate をクリックしてフローを有効化します。 フローが Flow Builder に表示される。Activate をクリック フローが有効化される

フローを確認し、Connect AI で更新内容を検証

  1. Debug をクリックします。Debug flow ウィンドウが開きます。Run をクリックします。 Debug をクリック
  2. 詳細入力ページ(この場合は「CreateOrdersPage」)で、詳細(Orders ID、Orders Name、Person ID)を入力し、Next をクリックします。 HubDB テーブルで編集する詳細を入力
  3. 次のページに「200」(HTTP 200 - OK)というメッセージが表示され、右ペインにデバッグ詳細が表示されます。Next をクリックします。 HTTP 200 OK メッセージが表示され、エントリの成功を示す
  4. 入力を変更したり、プロセスを再実行して新しい詳細を入力できます。 入力を変更してフローを再実行可能
  5. Connect AI で、この記事で説明したように「Orders」テーブルに新しい詳細が更新されているか確認します。これでプロセスは完了です。

クラウドアプリケーションからHubDB のデータへの簡単なアクセス

これで、Salesforce からHubDB のデータへのダイレクトなクラウド間接続が完成しました。100 以上の SaaS、ビッグデータ、NoSQL ソースへのクラウドアプリケーション経由でのライブデータアクセスの詳細については、CData Connect AI のページをご覧ください。

ご質問がございましたら、サポートチームまでお問い合わせください。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル