お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

行の取得

Catalyst Data Storeのテーブルから単一行または複数行のデータを取得できます。以下のサンプルコードに示すように、テーブルの一意のテーブルIDをgetTable()メソッドに渡すことで行を取得できます。

単一行の取得

getRow()メソッドを使用して、テーブルから単一行のデータを取得できます。以下に示すように、取得したい行の一意のRow IDをこのメソッドに渡す必要があります。

まずgetInstance()を使用してベースオブジェクトインスタンスを取得する必要があります。ベースオブジェクトインスタンスを使用して、行の取得に使用するテーブルインスタンスを取得する必要があります。

サンプルコードスニペット


Package Imports
copy
import com.zc.component.object.ZCObject; 
import com.zc.component.object.ZCRowObject;
import com.zc.component.object.ZCTable; 
copy
//ベースオブジェクトインスタンスZCObjectを作成する
ZCObject obj = ZCObject.getInstance(); 
//ベースオブジェクトを使用してテーブルIDを参照してテーブルインスタンスを取得する 
ZCTable tab = obj.getTable(1510000000110121L); 
//Row IDを渡してテーブルから単一行を取得する 
ZCRowObject row = tab.getRow(1510000000108103L);

ページネーションによるすべての行の取得

ZCRowPagedResponseクラスを使用してコードにページネーションを組み込むことで、Data Storeのテーブルからすべての行を取得できます。ページネーションにより、テーブルの行をバッチまたはページ単位でイテレーションを通じて取得できます。

たとえば、個別のページとして100行ずつバッチで行を取得する場合、各ページで取得する最大行数の変数を定義し、数を指定できます。以下のサンプルコードではmaxRowsを100に設定しています。

Note: maxRowsパラメータはオプションです。この値が指定されていない場合、SDK呼び出しはデフォルトで単一ページに200行を返します。

さらに、ループの各実行後に、後続のデータ取得を認可するトークン文字列がレスポンスに含まれます。getNextToken()メソッドを通じてこのトークンを取得し、以下のコードに示すように、後続のイテレーションでnextTokenの値として渡します。ループの最初の実行時、nextToken文字列の値はnullとして割り当てられます。

このイテレーションは、moreRecordsAvailable()メソッドで検証される、すべての行が取得されるまで実行されます。

サンプルコードに示すように、テーブル名と取得するカラム名を指定できます。

Note: ページネーションはJava SDK v1.7.0アップデートから利用可能になりました。古いバージョンのJava SDKでは利用できません。

サンプルコードスニペット


Package Imports
copy
import com.zc.component.object.ZCObject; 
import com.zc.component.object.ZCRowObject;
import com.zc.component.object.ZCRowPagedResponse;  
copy
String nextToken = null; 
//最初のnextTokenの値をnullとして宣言する
iteration ZCRowPagedResponse pagedResp; 
//ページングされたレスポンスオブジェクトを定義する 
Long maxRows = 100; 
//1ページで取得する最大行数を定義する 
do
{ 
pagedResp = ZCObject.getInstance().getTable(empDetails).getPagedRows(nextToken,
maxRows); 
//テーブル名を指定し、nextTokenとmaxRowsを渡してページングされたレスポンスを取得する 
//列名を渡してテーブルから列を取得する 
for(ZCRowObject row : pagedResp.getRows())
{ 
basicIO.write("Employee ID: " +row.get("empID") + ","); 
basicIO.write("Name: " +row.get("empName") + ","); 
basicIO.write("Department: " +row.get("empDept") + ","); } 
//反復を検証し、レスポンスで取得したトークン文字列を次の反復に渡す 
if(pagedResp.moreRecordsAvailable())
{ 
nextToken = pagedResp.getNextToken(); 
}
}
while(pagedResp.moreRecordsAvailable());
Note: テーブルから複数行のデータを取得するために以前利用可能であったgetAllRows()メソッドのサポートは廃止されました。ページネーションは、取得する行数の制限なくすべての行を取得できる拡張機能として利用可能です。getAllRows()メソッドは今後のすべてのSDKバージョンから削除されます。コードを適宜アップグレードしてください。

最終更新日 2026-03-30 13:40:30 +0530 IST