イベントストリームに HTTP ソースを追加する (プレビュー)

この記事では、イベントストリームに HTTP ソースを追加する方法について説明します。

HTTP コネクタは、リアルタイム処理のために任意の REST API から Eventstream にデータを直接ストリーミングする、コードなしの構成可能な方法を提供します。 これにより、SaaS プラットフォームとパブリック データ フィードからデータを継続的にプルし、JSON 応答を構造化イベントに自動的に解析できます。 また、簡単に開始したり、API の例を選択したり、API キーを入力したり、Eventstream で必要なヘッダーとパラメーターを事前入力したりするのに役立つパブリック フィードの例も提供しています。

[前提条件]

  • Fabric容量またはFabric試用版ワークスペースの種類を持つワークスペース。
  • ワークスペースにアクセスするには、共同作成者以上のワークスペース ロールを持っている必要があります。
  • パブリックにアクセスできる HTTP エンドポイント。 保護されたネットワークに存在する場合は、 Eventstream コネクタの仮想ネットワークインジェクションを使用して接続します。

ソースとして HTTP を追加する

まだ eventstream にソースを追加していない場合は、[ データ ソースの接続 ] タイルを選択します。 リボンの [ ソースの追加>データ ソースの接続 ] を選択することもできます。

外部ソースを使用するためのタイルの選択を示すスクリーンショット。

既に公開されているイベントストリームにソースを追加する場合は、 編集 モードに切り替えます。 リボンで、[ソースの追加] >[データ ソースの接続] を選択します。

外部ソースを追加するための選択を示すスクリーンショット。

http を検索し、[接続] を選択して、HTTP コネクタをイベントストリームに追加します。

データ ソースの選択ウィザードでのソースの種類としての HTTP の選択を示すスクリーンショット。

HTTP の構成と接続

パブリック API の例 のいずれかを選択して定義済みのヘッダーとパラメーターをすばやく開始するか、[ 終了 ] を選択して独自のカスタム HTTP コネクタを構成できます。

パブリック API の例を使用する

  1. パブリック API の例を選択して、HTTP コネクタをすばやく設定します。 API ページの例を示すスクリーンショット。

    • Binance。 最新のビットコイン価格を取得する
    • CoinGecko。 現在のビットコイン価格 (USD) を取得する
    • ロンドンへの輸送。 ロンドン駅のライブ到着予測を取得する
    • Alpha Vantage。 リアルタイム Microsoft (MSFT) 株価を取得する
    • OpenWeather。 場所の天気予報を取得する
    • NewsAPI。 米国で最新のビジネスの見出しを取得する
  2. API キーを必要とする API の場合は、指定されたリンクを使用して API キーを申請し、入力ボックスに入力します。 その後、コネクタによって Fabric クラウド接続が自動的に作成され、必要な HTTP ヘッダーとパラメーターが事前入力されます。

    Important

    Binance サンプル API では API キーは必要ありませんが、利用規約に準拠する責任があります。

  3. [ 既存の接続を使用する] を選択した場合は、[ 例の適用 ] を選択して、API キーを入力せずにサンプル API に必要なヘッダーとパラメーターを事前入力します。

  4. または、[ 終了 ] を選択してウィンドウを閉じ、独自の HTTP ソースを最初から構成します。

独自の HTTP ソースを構成する

サンプル API を使用せずに独自の HTTP ソースを構成する手順に従います。

  1. 新しい接続を作成します。 [ 新しい接続 ] を選択し、HTTP ソースに必要なプロパティを入力します。

    新しい接続ページを選択する場所を示すスクリーンショット。

    • ベース URL: HTTP エンドポイントのベース URL。
    • トークン対象ユーザー URI (省略可能): トークンの対象となるリソース。
    • 接続名: 接続の名前を入力します。
    • 認証の種類: 現在、HTTP コネクタでは、 AnonymousBasic、および API Key 認証のみがサポートされています。

    新しい接続ページを示すスクリーンショット。

  2. 要求方法: GET または POSTを選択します。

  3. ヘッダーとパラメーター: クラウド接続の作成時に API キー 認証を選択した場合は、ヘッダーまたはパラメーターで動的パラメーター ${apiKey} を使用して API キーを参照します。

    たとえば、CoinGecko に接続するには、 x_cg_demo_api_key = ${apiKey}というヘッダーを使用します。

    Important

    ヘッダーまたはパラメーターに API キーやその他の資格情報を入力しないでください。

  4. 要求間隔 (秒): 連続する要求の間に待機する時間を秒単位で指定します。有効な範囲は [1, 3600] です。

  5. 最大再試行回数: エラーが発生したときにコネクタが要求を再試行する最大回数。有効な範囲は [10, 100] です。

  6. 再試行バックオフ (秒): コネクタが再試行する前にエラーの後に待機する時間 (秒)。有効な範囲は [1, 3600] です。

  7. 再試行状態コード: 要求の再試行をコネクタに求める HTTP エラー コードが返されました。 コードまたはコード範囲のコンマ区切りのリストを入力します。 範囲は、開始コードと省略可能な終了コードで指定されます。 例えば次が挙げられます。

    • 400- には、400 以上のすべてのコードが含まれます。
    • 400-500 には、400 から 500 までのコード (500 を含む) が含まれています。
    • 404,408,500- は、404 NOT FOUND、408 REQUEST TIMEOUT、およびすべての 5xx エラー コードで再試行するようにコネクタに求めます。

    承認されていない、タイムアウト、要求が多すぎるなど、一部の状態コードは常に再試行されます。

    構成された設定を示すスクリーンショット。

ページ分割された API を処理する

一部の REST API では、1 つの応答ではなく、複数のページのデータが返されます。 たとえば、API は各応答で 100 個のレコードを返し、残りのレコードを取得するために追加の要求を必要とする場合があります。 HTTP コネクタでは、ポーリング サイクル内の複数のページ間でデータを取得できるように、改ページがサポートされています。

サポートされている改ページ位置の種類

HTTP コネクタでは、次の改ページ調整パターンがサポートされています。

  • ページ ベースの改ページ: 要求には、 page=1page=2などのページ パラメーターが含まれます。 コネクタはページ番号をインクリメントして、次のページを要求します。
  • カーソルベースの改ページ位置: API 応答には、 continuationTokennextPageTokenなどのカーソルまたは継続トークンが含まれます。 コネクタは、この値を使用して次のページを要求します。

ページングの設定

ページネーションを使用するには、HTTP コネクタで次の設定を行います。

  • ページネーションを有効化: ページネーション処理を有効にします。
  • 改ページ位置のモード: 改ページ位置の種類を指定します。 サポートされている値は PageCursor です
  • 応答データ JSON ポインター: /value/items/articlesなど、API 応答内のデータ配列の場所を指定します。

ページ ベースの改ページの例

ページ ベースの API の場合、最初の要求が GET /api/data?page=1される可能性があります。

構成の例

  • ページネーション有効: true
  • ページ区切りモード: ページ

コネクタは、 page=2page=3など、後続のページに対する要求を送信します。 空の配列を返すなどして、API 応答が使用できるデータがなくなったことを示すと、改ページは停止します。

カーソルベースページネーションの例

カーソルベースの API の場合、応答には、 "continuationToken": "ABC123"などの継続トークンが含まれる場合があります。

コネクタは継続トークンを抽出し、 GET /api/data?continuationToken=ABC123などの次の要求でそれを使用します。 応答に別のトークンが含まれていないか、トークン値が null の場合、改ページは停止します。

改ページが停止する場合

次のいずれかの条件が満たされると、コネクタは追加ページの要求を停止します。

  • API は空の応答を返します。
  • 応答には、次のページ トークンは含まれません。
  • API は、使用できるページがなくなったことを示します。

考慮事項

  • 各ポーリング サイクルは、最初のページから開始されます。
  • この機能を有効にする前に、API がページネーションをサポートしていることを確認してください。
  • 改ページ設定の構成または JSON ポインターの設定が正しくないと、データが見つからないか重複する可能性があります。

API が各要求で返されるレコードの数を制限する場合は、改ページを使用します。

ストリームまたはソースの詳細

  1. [ 接続 ] ページで、Eventstream または Real-Time ハブのどちらを使用しているかに基づいて、次のいずれかの手順に従います。

    • Eventstream:

      右側の [ ソースの詳細 ] ウィンドウで、次の手順に従います。

      1. [ソース名] で、[鉛筆] ボタンを選択して名前を変更します。

      2. Eventstream 名Stream 名は読み取り専用であることに注意してください。

    • リアルタイム ハブ:

      右側の [ストリームの詳細] セクションで、次の手順に従います。

      1. イベントストリームを作成するFabricワークスペースを選択します。

      2. [イベントストリーム名] で [編集] ボタンを選択し、イベントストリームの名前を入力します。

      3. Stream 名の値は、eventstream の名前に -stream を追加することによって自動的に生成されます。 このストリームは、ウィザードの終了時にリアルタイム ハブの [すべてのデータ ストリーム ] ページに表示されます。

  2. [構成] ページの下部にある [ 次へ ] を選択 します。

確認して接続する

[ 確認と接続 ] 画面で概要を確認し、[ 追加] (Eventstream) または [接続 ] (Real-Time ハブ) を選択します。

編集モードでイベントストリームに追加された HTTP ソースを確認できます。

[発行] ボタンが強調表示されている編集モードで追加された HTTP ソースのスクリーンショット。

[ 発行] を選択して変更を発行し、HTTP ソースからイベントストリームへのデータのストリーミングを開始します。

[発行] ボタンが強調表示されているライブ ビューで追加された HTTP ソースのスクリーンショット。

制限事項

  • 現在、HTTP コネクタは JSON API 応答のみをサポートしています。
  • OAuth 認証 はサポートされていません。
  • HTTP ソースは、 Git 統合デプロイ パイプラインなどの CI/CD 機能をサポートしていません。 Git を使用してこのソースを含む Eventstream 項目をエクスポートまたはインポートすると、エラーが発生する可能性があります。

その他のコネクタ。