注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry でのデータ取り込みの多くは、ソースシステムからデータを取得し、データセットまたはストリームに同期することを中心としています。
Foundry は、ストリームでプッシュベースの取り込みをサポートし、イベントベースのワークフローに対応しています。
データ用の Foundry ソースをすでに設定している場合は、そのソースに接続することも検討してください。既存のソースでストリーミング同期を設定する方法、または Kafka ソースを設定する方法を参照してください。
Foundry で適切に認証できないシステムや、標準のストリームスキーマに準拠できないシステムから受信 Webhook を受け取る必要がある場合は、リスナーの使用を検討してください。
Foundry でのプッシュベースのレコード取り込みは、一般的な REST サービスと同じ原則に従います。一連の REST エンドポイントを通じて、レコードを受け取り、ストリームやデータセットに書き込むことができるプッシュベースの API を公開しています。ストリームにプッシュするには、次の基本情報が必要です。
以下では、ストリームにデータをプッシュするために必要な手順を説明します。
まず、ストリーム作成ワークフローを開始します。
次に、ストリームのスキーマ、スループット、キーを定義する必要があります。
このチュートリアルでは、パーティションが1個のシンプルなストリームを作成します。
sensor_id: String、temperature: Double、created_at: Timestamp に設定します。続いて、ストリームを設定します。
ストリームを作成を選択する前に、すべての検証エラーに対処する必要があります。エラーの詳細を確認するには、ページ下部のツールチップにカーソルを合わせます。
右下隅のストリームを作成ボタンを選択して、接続するページに移動します。ここでは、ストリーミングデータへの接続方法を指定できます。
これで、ストリームに接続する準備ができました。
プッシュベースの取り込みを行うには、API 経由で接続セクションの選択肢から1つを選択します。
HTTP リクエストを送信できる言語や技術であれば、どれでもレコードのプッシュに使用できます。cURL、Python、Node を使用した JavaScript、Java の例を用意しています。Foundry にデータをプッシュする代わりに Foundry の同期を使用してデータを取り込む場合は、ストリーミング同期を設定する方法を確認してください。
この例では、cURL を選択します。
続いて、データのプッシュワークフローページが表示されます。
次に、認証方式を選択します。リクエストの認証には、次の2つの方法をサポートしています。
このチュートリアルでは、サードパーティアプリケーションでプッシュの方法を選択します。Foundry がクライアントID、クライアントシークレット、サービスユーザーを発行できるように、クライアント資格情報グラントで認証するアプリケーションが必要です。エンロールメントで利用可能な方法で、そのアプリケーションを作成します。
いずれの方法でも、ストリームにレコードをプッシュするには、アプリケーションの操作制限に api:use-streams-write 操作権限が必要です。操作制限を参照してください。
Control Panel を使用する場合: サードパーティアプリケーションに移動を選択して、Foundry のプラットフォーム設定にあるサードパーティアプリケーション管理ページを開きます。
画面右上の新規アプリケーションを登録を選択します。
名前を選び、クライアントの種類をサーバーアプリケーションに設定します。
作成するを選択すると、クライアントIDとシークレットが表示されます。
このページを離れると、クライアントシークレットにアクセスできなくなります。必ず安全な場所に保管してください。
これで、プッシュワークフローページにクライアントIDとシークレットを追加できます。
ワークフローのアプリケーションの設定セクションまで下にスクロールし、アプリケーションを管理するを選択して、Foundry のプラットフォーム設定にあるサードパーティのアプリケーション管理ページを開きます。
次に、クライアント認証情報の付与設定を有効にします。
最後に、右上隅の保存をクリックします。
次に、作成したアプリケーションとストリームを共有する必要があります。
まず、プッシュワークフローページに戻ります。ワークフローの新しいアプリケーションの使用セクションで、生成したクライアントIDを見つけます。
次に、右上の共有を選択すると、画面右側にあるストリームの詳細サイドバーのロールタブが開きます。
ロールの検索項目にクライアントIDをコピーして貼り付け、作成したアプリケーションを見つけます。+ を選択し、編集者ロールを検索して選択します。
サイドパネルの下部にある保存を選択して、ストリームを共有します。
プッシュワークフローに戻り、次の手順を選択します。
ストリームにテストレコードをプッシュするために使用できるコード例が表示されます。コード例は、前の手順で選択した言語によって異なります。この例では、cURL を使用します。
cURL コマンドを実行する前に、コマンドラインで JSON をパースするための jq ↗ を必ずインストールしてください。
Mac、Windows、または Linux マシンの bash ターミナルでコマンドを実行します。
コマンドを実行すると、$ACCESS_TOKEN という変数が利用可能になります。次のコマンドでこの変数を使用して、レコードをプッシュします。
2つ目のコマンドでは、cURL を使用して、ストリームに挿入するレコードを含む POST リクエストを Foundry のエンドポイントに送信します。このコマンドには、ストリームにプッシュするダミーレコードがあらかじめ入力されていますが、ストリームのスキーマに準拠する任意のデータを HTTP リクエストに指定できます。
2つ目のコマンドをターミナルにコピーして貼り付け、実行します。
コマンドが成功すると、ストリームにレコードが表示されます。
ストリームにプッシュするデータを変更するには、POST リクエストのデータパラメーターを変更します。
[{ \"value\": {\"sensor_id\":\"sensor4\",\"temperature\":4.132} }]
JSON でテストカードを展開すると、ユーザーインターフェースからストリームにテストレコードを送信することもできます。
ストリームへのデータのプッシュが成功したので、データの加工を始める準備が整いました。パイプラインを開始を選択すると、ストリーミングパイプラインを構築するための Pipeline Builder アプリケーションに移動します。データを加工する方法と、Pipeline Builder で利用可能なさまざまなデータ加工について詳しくはこちらをご覧ください。