データ集約を実行したり、サードパーティのデータを統合したり、高性能、セキュリティ、ログ監視、トラフィックシェーピングなどの懸念に対処したりするために、ビジネスデータをAPIとして公開し、DataV-Boardに接続できます。 このドキュメントでは、DataV-BoardでAPIデータソースを追加する方法と、関連するパラメーター設定について説明します。
前提条件
APIアドレスがDataVサービスにアクセス可能であることを確認する: ローカルにデプロイされた場合、ローカルAPIサービスにアクセス可能である必要があります。 そうでない場合は、APIアドレスがパブリックアクセス可能であることを確認します。
追加するAPIデータソースを準備する必要があります。
説明HTTP/HTTPSプロトコルAPIは、戻り形式またはデータ型に関する特定の要件なしでサポートされます。 APIは、サードパーティが提供するか、ビジネス要件に基づいて作成できます。 APIの作成には、データソースの選択、設計、実装、テスト、およびデプロイが含まれます。 詳細については、関連するR&D担当者に相談してください。
必要なウィジェットを追加してデータダッシュボードを作成する必要があります。 詳細については、「テンプレートを使用したPCダッシュボードの作成」、「Widget canvas操作」、および「ウィジェットの設定」をご参照ください。
シナリオ
APIは、クロスオリジンの問題が発生したり、情報を取得するためにCookieが必要になります。 DataV-Boardは、Server Proxy RequestやRequire Cookieなどの設定項目を通じて、これらのシナリオをサポートします。 具体的な操作の概要を以下に示す。
クロスオリジンシナリオ | クッキーシナリオ | サポート状況 |
クロスオリジンなし | クッキーは必要ありません | サポートされています。 選択は必要ありません。 |
クロスオリジンなし | 必要なクッキー | サポートされています。 [Cookieの要求] のみを選択します。 |
Cross-Origin | クッキーは必要ありません | サポートされています。 [サーバープロキシ要求] のみを選択します。 |
Cross-Origin | 必要なクッキー | サポートされていません。 まず、クロスオリジンの問題を解決します。 詳細については、「クロスオリジンリソース共有」をご参照ください。 |
手順
-
DataVコンソールにアクセスします。
目的のウィジェットを選択します。 キャンバスの右側にあるウィジェット設定パネルで、[データソース] を選択します。
[データソースの設定] モジュールで、[データソースタイプ] を [API] に設定します。
必要に応じてAPIパラメーターを入力します。
パラメーター名
説明
リクエスト方法
APIインターフェイスのリクエストタイプを選択します。 GETとPOSTがサポートされています。 デフォルトはGETです。
GET: サーバーからデータを取得します。
POST: 処理のためにサーバーにデータを送信します。
URL
APIインターフェイスのリクエストアドレスを入力します。
ヘッダー
追加情報を送信するためのHTTPリクエストに含まれるメタデータであるリクエストヘッダーパラメータ。
ボディ
リクエストで送信される実際のデータであるリクエストボディパラメータ。 これはPOSTリクエストにのみ必要です。
サーバープロキシ要求
クロスオリジンの問題によりURLアドレスにアクセスできない場合は、このオプションを選択します。
重要この場合、[Cookieの要求] オプションは有効ではありません。
Require Cookie
Cookieを使用して、データの権限を制御し、データのセキュリティを確保できます。 この場合、[Server Proxy Request] オプションは選択できません。 特定のシナリオと原則については、「Cookieの使用方法」をご参照ください。
説明ヘッダーとBodyパラメーターは、キー値形式で表示されます。 JSONエディターを使用して、JSON形式でデータを直接入力できます。 このモードに切り替えると、ビジュアルエディタに戻ることはできないことに注意してください。 作業は慎重に行ってください。
[データの戻り結果の表示] をクリックして、データソースの戻り結果を確認します。
クロスオリジン問題
クロスオリジンとは
http://exampleB.com のデータインターフェイスにアクセスしようとするWebサイト http://exampleA.com は、データ取得の問題に遭遇します。 赤いテキスト (Chrome) でマークされたブラウザでは、これはクロスオリジンの問題を示しています。
XMLHttpRequest cannot load http://exampleB.com. The requested resource does not include the "Access-Control-Allow-Origin" header. Therefore, the origin site "http://exampleA.com" is not allowed to access it.クロスオリジンとは、プロトコル (HTTP) 、ポート (80) 、またはドメイン名 (example.com) が異なるページ間のリソース要求を指します。
ソリューション
APIアドレスに関するクロスオリジンの問題を解決するには、次の方法を使用します。
問題に直接対処するには、サーバープロキシ要求を選択します。
重要APIアドレスがDataVサービスにアクセス可能であることを確認する: ローカルにデプロイされた場合、ローカルAPIサービスにアクセス可能である必要があります。 そうでない場合は、APIアドレスがパブリックアクセス可能であることを確認します。
クロスオリジンリソース共有を通じて問題に対処します。
重要APIにcookie情報が必要な場合は、クロスオリジンリソース共有の方法1と方法2のみが適用されます。 サポートするクロスオリジンドメイン名は、レスポンスで明示的に指定する必要があります。
クロスオリジンリソース共有
クロスオリジンリソース共有 (CORS) は、ブラウザが異なるドメインからリソースを要求できるようにするメカニズムです。 カスタムHTTPヘッダーをオリジンサイトに追加して、他のWebサイトからのアクセスを可能にします。 設定方法は次のとおりです。
方法1: 特定のWebサイトがオリジンサイトのインターフェイスデータを使用できるようにするには、データサーバーの返されるヘッダー情報に次のものを含めます。
Access-Control-Allow-Origin: http://exampleA.com方法2: 複数のWebサイトがオリジンサイトのインターフェイスデータを使用する場合は、次のPHPの例などのプログラムを使用してヘッダー情報を動的に生成します。
<?php if (is_my_code($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); } ?>方法3: すべてのWebサイトがオリジンサイトのインターフェイスデータを使用できるようにするには、
「 * 」を使用します。Access-Control-Allow-Origin: *
クッキーの使用方法
iframeを介してビジネスシステムにデータダッシュボードを埋め込むと、Cookieを使用したデータ分離が可能になります。 具体的には、ユーザがログインすると、ビジネスシステムは、ユーザのログイン詳細とともにSession_Idを含むクッキーを生成する。 このクッキーは、対応するユーザ情報の検索を可能にする。
APIデータソースに対して [Cookieを要求する (プロキシが選択されておらず、cookieを取得する必要がある場合に使用)] オプションを選択すると、DataV-Boardはユーザーのログイン詳細を含むcookieをHTTPSリクエストに組み込みます。
重要[Cookieの要求] を選択した場合、[サーバープロキシ要求] を同時に選択することはできません。
次いで、サーバは、要求を認証し、認証が成功すると、ユーザのデータを返す。 これにより、ログイン後、ユーザーは自分のデータにのみアクセスでき、他のデータにはアクセスできません。