はじめに
WorkatoにはLookup Tablesと呼ばれるクロスリファレンステーブルのような機能があります。一般的にはWorkato内で頻繁に参照される小規模なマスタ等のユースケースで利用されます。
Lookup Tableからレコード(エントリ)全件を取得するアクションとして、Get all entries というアクションが用意されています。しかし、このアクションには取得可能なレコード数に制限があり、最大10,000件しか取得することができません。よって、10,000件を超えるレコードを有するLookup Tableの場合、このアクションですべてのレコードを取得することができません。
今回は、10,000件を超えるレコード全件を取得する方法について、以下に説明します。
手順
サンプルとして、99,998件を有するLookup Tablesを用意しました。
このテーブルは以下のような構造ならびにデータがセットされていますが、このテーブルにおけるポイントとして data_flg という列があります。
この data_flg の全てのレコードには 1 という値をセットしています。つまり、99,998件すべての data_flg に 1 という値がセットされています。
ここまででお分かりかと思いますが、レシピにおいては Get all entries の代わりに、 Search entries を選択し、その検索条件として data_flg に 1 を指定しています。
Search entries アクションには件数の制限が無いため、このレシピを実行すると、Lookup Table上に存在する全レコードを取得することが可能です。
まとめ
Lookup tablesの1列を全件検索(全件取得)用に使用することで、最大10,000件の制限を受けることなく全てのレコード取得が可能になります。
欠点として最大10列のうち1列がデータ列として使えなくなってしまう点が挙げられますが、Lookup Tableで大規模なマスタ等を運用していて10,000件の上限に悩まれていた(全件取得したいが10,000件しか取得できず悩んでいた)場合、この方法が役立つものと思いますので、ぜひお試しください。





