Paginate(ページ分け)
この関数カードはWorkflows Connector Builderでのみ使用可能です。
ヘルパーフローを使用して、HTTP応答の複数のページをページ分けします。
Paginate関数カードを使用する時のベストプラクティスについては、以下を参照してください。
概要
現在のWokflowsに存在する内部的なページネーション関数は、基本的にDo Whileループであり、ループを継続するかどうかを決定するためにbreak
キーワードを探します。ループが開始すると、関数のObjectフィールドにオブジェクトが渡され、そのオブジェクト内の値がヘルパーフロー内で管理されます。オブジェクトの値が更新されると、オブジェクトは関数に返され、更新された値で再度ヘルパーフローに渡されます。
ページネーション関数では、break
フィールドの正しい使用が非常に重要です。適切に使用されない場合、プラットフォームが最大反復回数5,000に達するまでフローが実行される可能性があります。この繰り返し実行を停止するには、オブジェクトからbreak
フィールドを削除する必要があります。
入力
フィールド | 定義 | タイプ | 必須 |
---|---|---|---|
オブジェクト | ヘルパーフローに渡されるオブジェクト。offset 、page_index 、url、レコードの収集に使用されるリストオブジェクトなど、必要なだけいくつでもキーと値を含むことができます。関数に対して繰り返し実行を停止するよう指示するbreak を表すキーが存在する必要があります。これは最初はfalseに設定します。
|
オブジェクト | TRUE |
Path | Object入力に含まれる、ループをいつ停止するかを監視するフィールドのキー。これは通常break と呼ばれ、最初はFALSEに設定されます。繰り返し実行を停止するには、Object入力からbreakフィールドを削除する必要があります。 |
テキスト | TRUE |
ヘルパーフロー | Object入力フィールドに渡されるオブジェクトの処理に使用されるフロー。 | フロー | TRUE |
出力
フィールド | 定義 | タイプ |
---|---|---|
出力 |
新しい値を含むオブジェクト。 |
オブジェクト |
基本例
この例では、決められた回数だけ繰り返し実行します。これは、ページネーションの作業を開始するときの最初のタスクであり、フローのテストに役立ちます。3つの値を持つオブジェクトを作成する必要があります。このオブジェクトは、作成したヘルパーフローに渡されます。キー名の例を次に示します。
-
page_index:現在の繰り返し回数。
-
max_page_index:ヘルパーフローが繰り返し実行を行う最大回数。
-
break:ループ終了の判断のために監視する値。
{
“page_index”: 0、
“max_page_index”: 10、
“break”: false
}
ヘルパーフローでは、イベントカードで定義した入力が、上記のオブジェクトで定義したキー、すなわちpage_index
、max_page_index
、break
と一致する必要があります。これらはフロー内で使用できます。Number Add関数カードを使用して、繰り返し実行ごとにpage_index
を増やし、新しい数値をPaginate関数カードに返すことができます。
{
“page_index”: 1、
“max_page_index”: 10、
“break”: false
}
フローが繰り返し実行されるごとにカウンターが増加します。page_index
が10に達するとオブジェクトからbreak
条件が削除され、繰り返し実行が終了します。
{
“page_index”: 10、
“max_page_index”: 10,
}