このConnected Learning Pathでは、Handlebars Connectorを活用してHTTPレスポンスからデータを解析し、Chain全体で使用できるVariablesをテンプレート化する方法を説明するChainを作成します。
主な学習目標 | ハンドルコマンド機能 |
副次的学習目標 | ワーキーチェーンコネクター |
前提条件 |
ハンドルバーコネクター 接続の設定 Workiva Chains Connector 接続の設定 |
テンプレート | CLP|ハンドル構成 |
ステップ1:チェーンを作る
- 新しいチェーンを追加する
- チェーンに名前を付ける:CLP|ハンドル構成
- チェーン変数の作成
- 名前:cv-AllStations
- https://cs-sftp-training-bucket.s3.amazonaws.com/cs-training/transformation-qs/station_information.json
- セーブ・ザ・チェーン
ステップ2:JSONデータの取得
HTTPコネクタを使用して、WebロケーションからJSON形式でシティサイクル関連データを取得します。
- HTTPコネクタ からGET コマンドをStartノードに追加する。
- コマンドを以下のように設定する:
名称 | GET - 全ステーション |
ユーザー名 | <空白のまま |
パスワード | <空白のまま |
CA証明書 | <空白のまま |
証明書 | <空白のまま |
証明書の秘密鍵 | <空白のまま |
応答を表示 | チェック済み |
URL | cv-AllStations チェーン変数 |
クエリー文字列 | <空白のまま |
コンテンツタイプ | application/json |
応答 | <空白のまま |
- コマンドを保存する
ステップ3:JSONデータを繰り返し処理する
ハンドルバー - テキストをレンダリング]テンプレートコマンドを使用して、シティバイクのステーションデータを反復処理し、各ステーションのデータを結合したフォーマットを提供します。
- Handlebars - Render Text Template コマンドをChainキャンバスに追加します。
- GET - 全ステーション コマンドをハンドルバー - テキストテンプレートのレンダリング コマンドに接続する。
- コマンドをダブルクリックして編集する
- コマンドの名前RTT - JSONレスポンスの解析
- JSON 変数 を追加し、名前を "citibikeData" とします。
- Value フィールドには、Get - All Stations Command のResponse 変数を使用します。
- テンプレート・フィールドに以下の値を記入する:
{{#各citibikeData.data.stations}}} 。
{{@index}}| {{name}}|{{capacity}}
{{/each}}
-
-
- これにより、コマンドは、data.stationsのルートパスを使用して、各キーからテキスト値を提供し、JSONレスポンスを繰り返し実行できるようになります: ("name", "capacity")
- さらに、処理された各行について、インデックス 値を追加する。
- これにより、コマンドは、data.stationsのルートパスを使用して、各キーからテキスト値を提供し、JSONレスポンスを繰り返し実行できるようになります: ("name", "capacity")
-
- コマンドを保存する
ステップ4:ランタイム変数のテンプレート化
変数をテンプレート化するには、Handlebars - Render Text Templateを使用します。これによってユーザーは、チェインのさまざまなコンポーネントについて、その実行時間に応じたコンテキストを提供するテキスト・テンプレートをレンダリングできるようになる。
- Handlebars - Render Text Template コマンドをChainキャンバスに追加します。
- GET - 全ステーション コマンドをハンドルバー - テキストテンプレートのレンダリング コマンドに接続する。
- コマンドをダブルクリックして編集する
- コマンドの名前RTT - 変数のテンプレート化
-
変数 セクションに以下の情報を追加し、入力する:
- Value" フィールドは、左の変数ペインの "Runtime" ドロップダウンから入力される。
- 変数1
- 変数名 : チェーン環境
- 値: <Chain.Enviroment>(ランタイム変数)
- 変数2
- 変数名 : チェーン実行時間
- Value: <Chain.ExecutionDateTime>(ランタイム変数)
- 変数 3
- 変数名 : システムランタイム-月
- 値: <System.DateTime>(ランタイム変数)
- <System.DateTime> 実行時変数をクリックして変数を変換する。
-
Transformation を選択し、Parse Date/Time を選択する。
- をクリックする。
- 最初の値フィールドで、"ISO Extended (Platform Standard)" を選択する。
- 出力日付フォーマット・フィールドに、"%m" と入力する。
- 入力日付のタイムゾーンフィールドで、"UTC (Etc/UTC)" を選択する。
- Output date timezoneフィールドで、"UTC (Etc/UTC)" を選択する。
- Accept をクリックする。
- 変数4
- 変数名"システムランタイム年"
- 値: <System.DateTime> (ランタイム変数)
- <System.DateTime> 実行時変数をクリックして変数を変換する。
-
Transformation を選択し、Parse Date/Time を選択する。
- をクリックする。
- 最初の値フィールドで、"ISO Extended (Platform Standard)" を選択します。
- 出力日付形式フィールド に "%Y" と入力する。
- Input date timezone フィールド で、"UTC (Etc/UTC)" を選択する。
- Output date timezone フィールド で、"UTC (Etc/UTC)" を選択する。
- Accept をクリックする。
- テンプレート・フィールドに以下の値を記入する。
チェーン環境{チェーン環境}}
チェーン実行日:{{Chain-Exec-Time}}。
システム・ランタイム月-年{システムランタイム月}}-{システムランタイム年}}。
- コマンドを保存する
ステップ 5: ワークスペース変数のテンプレート化 - ワークスペースの取得
ワークスペースのコンポーネントをテンプレート化するには、Handlebars - Render Text Templateを使用します。これにより、ユーザーは、チェーンが配置されているワークスペースのさまざまなコンポーネントからのコンテキストを提供するテキストテンプレートをレンダリングできるようになります。
- Workiva Chains Connector からGet Workspaces コマンドを Chain キャンバスに追加します。
- GET - All Stations コマンドとGet Workspaces コマンドを接続します。
- コマンドをダブルクリックして編集する
- 接続が正しいことを再確認する
- コマンドを保存する
ステップ6:ワークスペース変数のテンプレート化 - RTT - WorkspaceID
- Handlebars - Render Text Template コマンドをChainキャンバスに追加します。
- Get Workspaces Command をHandlebars - Render Text Template Command に接続する。
- コマンドをダブルクリックして編集する
- コマンド名 "RTT - WorkspaceID"
- Template "フィールドに以下の値を入力する:
- コマンド名 "RTT - WorkspaceID"
{{#各ワークスペース}}。
{{#if (等しい名前 "<(Chain.Workspace)>")}}
{{id}}{{/if}}{{/each}}
-
- 左パネルのランタイム変数セクションから<Chain.Workspace>変数を選択する。
-
JSON変数を追加する
- 以下の情報を記入してください:
- 名前: ワークスペース
- 値: <ワークスペース
- 左側の変数パネルからGet Workspaces 変数を展開し、Workspaces を選択します。
- 以下の情報を記入してください:
- コマンドを保存する
ステップ7:ワークスペース変数のテンプレート化 - 環境の取得
- Workiva Chains Connector のGet Environmentsコマンドを Chain キャンバスに追加します。
- RTT - WorkspaceID コマンドをGet Environments コマンドに接続します。
- コマンドをダブルクリックして編集する
- RTT-WorkspaceID Command から Rendered Text 変数を Workspace ID フィールド内に追加する。
- コマンドを保存する
ステップ8:ワークスペース変数のテンプレート化 - RTT - EnvironmentID
- Handlebars - Render Text Template コマンドをChainキャンバスに追加します。
- Get Environments Command をHandlebars - Render Text Template Command に接続する。
- コマンドをダブルクリックして編集する
- 名前は "RTT - EnvironmentID" とする。
- Template "フィールドに以下の値を入力する:
{{#各環境}}。
{{#if (等しい名前 "<(Chain.Environment)>")}}
{{id}}{{/if}}{{/each}}
-
-
- <Chain.Environment>はランタイム変数で、左のパネルにある。
- JSON変数の追加
- 以下の情報を記入してください:
- 名称:環境
- 値: <環境
- これは左の変数パネルで、Get Environments Commandの下にあります。
- 以下の情報を記入してください:
-
- コマンドを保存する
ステップ9:エクササイズのテスト
- 出版 チェーン
- Execute をクリックし、Run Chain を選択する。
- チェインが完了したら
- すべてのノードが正常に実行されたことを確認する
- 実行されたRTT - Parsing JSON Response コマンドをクリックする。
- 出力の最初の数行が以下のようになっていることを確認する:
- 実行されたRTT - Parsing JSON Response コマンドをクリックする。
- すべてのノードが正常に実行されたことを確認する
-
-
- 実行されたRTT - Templatizing Variables コマンドをクリックします。
- ログ」タブで、レンダリングされたテキストが正確であることを確認する。
- 実行されたRTT - Templatizing Variables コマンドをクリックします。
-
-
-
-
- これらの値は、チェインがどの環境で実行されるか、またいつ実行されるかに応じて変化します。
-
RTT - Environment ID ノードをクリックし、Outputs タブを選択します。
- レンダリングされたテキスト変数に値が入力されたことを確認する(この結果は、ユーザーのEnvironmentによって異なる)。
-
-
チェーンを使ったデータ変換の詳細については、Connected Learning Paths - Transformation Introduction をご覧ください!