注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry でのほとんどのデータ取り込みは、ソースシステムからデータをプルしてデータセットやストリームに同期することに集中しています。
ストリームにおいて、Foundry はイベントベースのワークフローをサポートするための プッシュベースの取り込み をサポートしています。
Foundry でのプッシュベースのレコード取り込みは、一般的な REST サービスと同じ原則に従います。一連の REST エンドポイントを通じて、レコードを消費し、それらをストリームとデータセットに書き込むことができるプッシュベースの API を公開しています。ストリームにプッシュするために必要な高レベルの情報は次のとおりです:
すでにデータの Foundry ソースが設定されている場合は、そのソースに接続することをお勧めします。既存のソースとのストリーミング同期を設定する方法、または Kafka ソースを設定する方法を 学びましょう。
以下では、ストリームにデータをプッシュするために必要な手順について説明します:
まず、ストリーム作成ワークフローを始めます。
次に、ストリームのスキーマ、スループット、キーを定義する必要があります。
このチュートリアルでは、シンプルなシングルパーティションのストリームを作成します。
sensor_id: String
, temperature: Double
, created_at: Timestamp
に設定します。Normal
に設定します。次に、ストリームを設定します。
Generate from JSON sample...
ボタンを選択し、既存の JSON ブロブを貼り付けます。すべての検証エラーは、Create stream を選択する前に対処する必要があります。ページの下部のツールチップにマウスを置くと、エラーの詳細が表示されます。
右下の角にある Create stream ボタンを選択して Connect ページに移動します。ここでは、ストリーミングデータに接続する方法を指定できます。
これでストリームに接続する準備が整いました。
プッシュベースの取り込みの場合、Connect via API セクションのオプションの一つを選択します。
HTTP リクエストを作成できる任意の言語や技術を使用してレコードをプッシュすることができます。cURL、Python、Node 経由の JavaScript、Java の例を提供しています。Foundry の同期を介してデータを取り込むのではなく、データを Foundry にプッシュしたい場合は、ストリーミング同期の設定方法を確認してください ストリーミング同期の設定。
この例では、 cURL を選択します。
すると、Push データワークフローページに移動します。
次に、認証メカニズムを選択します。リクエストへの認証は2つの方法をサポートしています:
このチュートリアルでは、サードパーティアプリケーションを使用したプッシュ 方法を選択します。画面上の手順に従ってサードパーティアプリケーションを設定し、クライアントシークレット を作成します。
今度は、Go to third-party applications を選択して、Foundry プラットフォーム設定のサードパーティアプリケーション管理ページを開きます。
画面右上の Register new application を選択します。
名前を選択し、クライアントのタイプを Server application に設定します。
Create を選択すると、クライアント ID とシークレットが表示されます。
このページから離れると、クライアントシークレットはアクセスできなくなります。安全な場所に保存してください。
これで、クライアント ID とシークレットを Push ワークフローページに追加できます。
ワークフローの Configuring the Application セクションまで下にスクロールし、Manage application を選択して、Foundry プラットフォーム設定の Third-party applications 管理ページを開きます。
次に、Client credentials grant 設定を有効にします。
最後に、右上の角にある Save をクリックします。
次に、作成したアプリケーションとストリームを共有する必要があります。
最初に、Push ワークフローページに戻ります。ワークフローの Using Your New Application セクションで、生成したクライアント ID を見つけます。
次に、右上の Share を選択して、ストリーム Details サイドバーの Roles タブを開きます。
クライアント ID を Roles 検索フィールドにコピーして貼り付け、作成したアプリケーションを見つけます。 + を選択して Editor
ロールを検索し、選択します。
サイドパネルの下部にある Save を選択してストリームを共有します。
プッシュワークフローに戻り、Next step を選択します。
ストリームにテストレコードをプッシュするために使用できるコード例が表示されます。コード例は、前の手順で選択した言語によって異なります。この例では、cURL を使用しています。
cURL コマンドを実行する前に、コマンドラインの JSON パースのために jQuery をインストールしておいてください。
Mac、Windows、または Linux マシンの bash ターミナルでコマンドを実行します。
コマンドを実行すると、$ACCESS_TOKEN
という名前の使用可能な変数が得られます。この変数を次のコマンドでレコードをプッシュするために使用します。
2つ目のコマンドは、cURL を使用して Foundry エンドポイントをヒットし、ストリームに挿入したいレコードを含むポストリクエストを行います。コマンドは、ストリームにプッシュするダミーレコードで事前に入力されていますが、ストリームのスキーマに準拠した任意のデータを HTTP リクエストに提供できます。
2つ目のコマンドをターミナルにコピーして貼り付け、実行します。
コマンドが成功すると、ストリームにレコードが表示されます。
ストリームにプッシュされるデータを変更するには、ポストリクエストのデータパラメータを修正します。
[
{
\"value\": {
\"sensor_id\":\"sensor4\", // センサーのIDを表す
\"temperature\":4.132 // 温度を表す (摂氏)
}
}
]