Paginate: set a maximum page index

この関数カードはWorkflowsコネクタービルダーでのみ使用可能です。

Paginate関数カードを使用する場合、関数の反復回数を制御することが重要です。Okta Workflowsでは、この関数の反復回数が5,000回に制限されます。そのため、フローをテストする際には、この回数を超えないことが重要です。

この例では、max_page_index10に設定し、そのインデックスに達したらページネーションを停止する方法を示します。

Constructオブジェクトカードを使用して、3つのキーと値のペアを含むオブジェクトを作成します。たとえば、次のようなキーが考えられます。

  • page_index:現在の繰り返し回数。

  • max_page_index:ヘルパーフローが繰り返し実行を行う最大回数。

  • break:関数がループを停止するためにチェックする値。

その後、生成されたオブジェクト(object)Paginate関数カードに渡すことができます。

{
  "page_index": 0,
  "max_page_index": 10,
  "break": false
}

ヘルパーフロー

Paginate関数にはヘルパーフローが必要です。ヘルパーフローで定義される入力は、ページネーションオブジェクト(object)で定義したキーと一致する必要があります。

  • page_index

  • max_page_index

  • break

ヘルパーフローの実行時に、フローに渡される値を管理する必要があります。ページネーション関数によって行われる反復回数を追跡することが目的であるため、反復ごとにpage_indexの値を増やす必要があります。これを行うには、Add数値関数カードを使用します。

次に、ページネーションオブジェクト(object)Paginate関数カードに返せるように新しく再構築します。

生成されるオブジェクト(object)の値は次のようになります。

{
  "page_index": 1,
  "max_page_index": 10,
  "break": false
}

フローが反復すると、カウンターが増加します。page_index10に到達(max_page_indexに一致)した後にPagination関数の反復を停止するには、オブジェクト(object)からbreakを削除する必要があります。

  1. ヘルパーフロー内にIf/Else分岐関数を追加します。比較(Compare)フィールドに、new_indexmax_page_indexに等しいかどうかをチェックすることを入力します。

    保存(Save)をクリックします。

  2. FALSEの場合に実行(Run when FALSE)行では、更新されたオブジェクトをAssignカードにドラッグできます。オブジェクトは、If/Elseカードを変更せずにそのままにします。

  3. TRUEの場合に実行(Run when TRUE)行(page_indexmax_page_indexに等しくなったときにトリガーされます)で、Unsetオブジェクト関数を追加してbreakキーを削除します。生成されたページネーションオブジェクト(object)が親フローに返されると、Paginate関数はbreakパスをチェックします。そのパスが更新されたオブジェクト(object)に見つからない場合、関数はページネーションを停止して完了します。

  4. 出力を作成(Create outputs)をクリックし、出力(Output)フィールドをReturnフロー制御カードにドラッグします。

  5. 各行から出力オブジェクト(object)を、trueまたはfalseのテスト結果に対応する出力(Outputs)フィールドにドラッグします。

親フローを実行すると、最終的なオブジェクト(object)は次のようになります。

{
  "page_index": 10,
  "max_page_index": 10
}

関連項目

Paginate

Paginate: API Endpoint

Workflowsの関数

Okta Workflowsの要素について