コネクタ関数の出力における配列とオブジェクトの理解
  • 31 Oct 2023
  • 1 読む分
  • 寄稿者

コネクタ関数の出力における配列とオブジェクトの理解


Article Summary

目的

SQL および HTTP コネクタ関数は、「出力」をオブジェクトまたは配列としてアプリに送信します。アプリでオブジェクトを操作する方法を学びます。

この記事では次のことを学びます... *アプリで Connector 関数からの「出力」を使用する方法

アプリでコネクタ関数の出力を使用する方法

配列と オブジェクトは、多くのプログラミング言語で使用される2つの一般的なデータ構造です。Tulip は Connector Functions でこれら両方のデータ構造を利用します:

  1. SQLコネクタ関数が複数行を出力する場合、出力はオブジェクトでいっぱいの配列としてアプリに送信されます。
  2. HTTPコネクター関数が配列を含む出力を返すと、その配列はオブジェクトを含む配列としてアプリに表示されます。
  3. SQL コネクタ関数が 1 行を出力する場合、または HTTP コネクタ関数が何らかの出力をする場合、値はキーと値のペアとしてオブジェクトに格納されます。

オブジェクトは、Connector 関数の正常終了時にのみ自動的に作成されます。

このガイドでは、Connector 関数の出力が自動的に整理される方法を説明します。次に、アプリでこれらの出力を使用する方法を説明します。

コネクタからの出力の収集

Tulip バッジ ID に基づいて SQL データベースから特定のオペレータに関するすべてのデータを引き出したいとします。

これを行うには、badge_idを入力として取り、すべてのオペレータの情報を出力に保存するSQL Connector関数を記述します。この場合、出力はgroup_nameと呼ばれます。このようになります:

この関数は、group_nameという1つの出力を持ち、これは文字列として保存されます。これは Outputs セクションの "Text" ラベルに基づいています。

実際、Connector 関数を作成するとき、出力を配列またはオブジェクトとして格納するオプションはありません。以下は「Outputs」セクションで許可されているデータ型です。

したがって、「テキスト」として格納し、トリガーエディタで操作する必要があります。

出力をオブジェクトに格納するには、トリガーエディターでこの関数を実行します。

  • "Run Connector Function" コネクタを使用します:"SBD-テスト" "オペレータ ナビゲーション"
  • バッジ ID: "Static Value" "text" "2222" として結果を保存します:「変数" "test_var"

この場合、入力として 2222 の値を使用し、出力を "test_var" という変数に保存します。

アプリでオブジェクトを使う

上の例では、group_nameという出力を取り出し、test_varという変数に保存しています。App Variablesビューを見ると、この変数は実際には「group_name」という1つのプロパティを持つオブジェクトであることがわかります。

実際、Connector Function に複数の出力がある場合、各出力は Trigger で作成された "test_var" というオブジェクトの新しいプロパティとして保存されます。これにより、1 つの関数呼び出しのすべての出力を 1 つの場所にまとめることができます。

アプリに変数テキストを追加し、コンテキスト・ペインのウィジェット・タブから変数を選択すると、関数の出力をテストできます。

この場合、5つのフィールドを持つオブジェクトを格納する "Order Details "という変数があります:

  • orderPlaced
  • 数量
  • address1
  • address2
  • address3

変数検索ボックスからオブジェクトを選択するとすぐに、5つのフィールドすべてに、プロパティの名前に基づいたラベルがアプリに入力されます。一度にすべてを見るには、変数テキストフィールドを展開する必要があるかもしれません。

オブジェクトの表示

Objectに複数のプロパティがある場合、アプリの1つのステップでそれらすべてを一度に表示したいと思うかもしれません。これは、個々のプロパティごとに新しい変数テキストを作成するよりも簡単です。

オブジェクトから個々のプロパティを並べ替えたり削除したりするには、Context Pane でプロパティ上の x またはグリッドのシンボルをクリックします。

列の数を変更するには、Context Pane の Columns オプションを使用します。

ラベルと値の表示を変更するには、コンテキストペインで色とフォントサイズを調整します。

このデータがオペレータにどのように表示されるかを確認するには、Playerでアプリを実行します。値を収集する Connector Function を最初に実行すると、値が含まれます。

オブジェクトの操作

アプリでオブジェクトの Array を使用すると、目的のデータポイントを抽出するためのオプションが制限される場合があります。コネクタ関数から出力されたオブジェクトの配列を操作して、ロジックなどで使用したいデータにアクセスしやすくすることができます。これは、抽出したいオブジェクト内のキーを指定することで可能です。これにより、データ出力が効率化され、関心のあるデータをより活用できるようになります。

Connector Function の例を以下に示します:

image.png

image.png

上の出力はオブジェクトの配列です。コネクタ関数がオブジェクトの配列を返す場合、式エディタにはそれらを操作するためのアクションがあります。これらのマップ関数を使用すると、指定されたキーに基づいて対応する値をマップすることができます。出力された値は、選択した型の配列にマップすることができます。MAP_TO_TEXT_LIST()を使用して、すべてのタイトルのテキスト配列を取得できます。

image.png

  • "Run Connector Function" コネクタ:"Test" "Test Function" として結果を保存する:"test_output"
  • 「データ操作" "格納" データを格納する:式" "MAP_TO_TEXT_LIST(Variable.test_out.Test Parent, 'Test Child')

map関数に渡される最初のパラメータは、オブジェクトの配列である。2 番目のパラメータ 'Test Child' は、コネクタ関数の出力に概説されているエクストラクタ名です。エクストラクタ名は、値を抽出するためのキーとして使用されます。これにより、すべてのタイトルが文字列の配列で出力されます。

アプリ内のすべてのオブジェクト変数のレビュー

アプリでデータ構造を操作するには、それがすでに変数として格納されている必要があります。App EditorのContext Paneに入り、Appタブの「Variables」の横にあるΣマークを選択すると、既存の変数を確認できます。

オブジェクトは世界共通のオブジェクト記号"{}"で表示されます。

HTTPコネクタからSQLや配列を複数行表示する

複数行のSQL出力やHTTPコネクターからの配列をアプリ内の対話型リストにしたい場合は、別のガイドを参照してください。

さらに読む


お探しのものは見つかりましたか?

community.tulip.coで質問を投稿したり、他の人が同じような質問に直面していないか確認することもできます!


この記事は役に立ちましたか?