アクションカードを使用してデータをストリーミングする

Okta Workflowsでは、アクションカードのデータのストリーミング機能を使用して大きなデータセットを効率的に処理できます。このアプローチは、検索結果数の上限(10,000件のレコード)を超えるデータセットを処理する場合に役立ちます。ページ分け対応のAPIエンドポイントとヘルパーフローを使用すると、最大100万件のレコードを扱いやすい方法で処理できます。

多数のレコード

検索結果の数に制限を設けることでシステムパフォーマンスが向上しますが、他のカスタムユーザープロパティーまたは結果セット内のユーザーデータにより、フローがシステム制限を超え、アウトオブメモリエラーが発生する場合があります。これらのシステム制限や、メモリエラーの可能性を回避するため、検索または一覧表示オプションを備えた多くのカードで[Stream Matching Records(一致レコードのストリーミング)]オプションを使用できます。

多くのコネクターは、大きなデータセットを処理するためのデータストリーミング機能を備えたアクションカードを提供しています。データストリーミングを使用する場合、データセットは親フロー内で処理されません。代わりに、多数のレコードを処理するように構成されたヘルパーフローを指定します。このシャンティング機能は、ページ分け対応のAPIエンドポイントを活用することで、フロービルダーがフローを拡張して大量のデータを処理できるようにします。

これは、レコードを検索または一覧表示するアクションカード(Freshservice Search TicketsカードやOkta List Users With Filterカードなど)で特に役立ちます。[Choose Flow(フローの選択)]ダイアログボックスでは、処理フローをカードへの入力として選択し、要求されたレコードを検索して返すことができます。

パフォーマンスベンチマーク

このオプションを使用すると、アクションカードが大量のレコードを読み取れるようになり、パフォーマンスベンチマークが次の時間に近づくことを期待できます。

  • 50万件のレコードの処理にかかる時間は約13時間。

  • 100万件のレコードの処理にかかる時間は約25時間。

制限事項

データストリーミングを使用するときは、いくつかの考慮事項を念頭に置いてください。

  • 実行を開始した後でフローを停止することはできません。検索または一覧表示カードのデータをストリーミングするヘルパーフローは、APIがすべてのレコードを返すか、フローが指定された最大レコード数に達するまで実行されます。また、進行中のフローは、フローを非アクティブ化しても実行を停止しません。

  • ヘルパーフローへのデータレコードの処理は、設定したページ上限に達すると停止します。サードパーティ製のAPIからリクエストされ、アクションカードによって返されるレコードの最大数を指定できます。多くのコネクターには、過剰なデータが返されるのを防止するための上限も組み込まれています。

  • 返されるレコード数の上限は100万件です。