行の取得
特定の行の取得
getRow()メソッドを使用して、指定したインスタンスのData Storeテーブルから特定の行を取得できます。以下のコード構文に示すように、行の一意のROWIDを引数としてこのメソッドに渡します。
以下のコードで使用する<TABLE_INSTANCE>は、テーブルインスタンスページで定義されているインスタンスです。
<TABLE_INSTANCE>.getRow(
id: Long,
success: (ZCatalystRow) → Unit,
failure: ((ZCatalystException) → Unit)?
): ZCatalystRequest<ZCatalystResponse<ZCatalystRow>>?
パラメータ:
- id: 取得する必要がある特定の行の一意のROWID
以下にサンプルコードスニペットを示します:
val table = ZCatalystApp.getInstance().getDataStoreInstance().getTableInstance("EmployeeDetails") //これをあなたのテーブル名に置き換えてください
table.getRow(2823000000014176, //ここに行IDを入力してください
{
row -> println("Get Row Success")
println(" The row details are: ${row.getData()}")
},
{
exception ->
println("Get row failed! $exception")
})
ページネーションによる行の取得
コードにページネーションを組み込むことで、Data Storeのテーブルから全行を取得できます。ページネーションにより、テーブルの行をイテレーションを通じてバッチまたはページ単位で取得できます。
たとえば、行を100件ずつのバッチで個別のページとして取得する場合、各ページで取得する最大行数を定義し、以下のようにmaxRowsを使用してカウントを指定できます。
以下のコードスニペットで使用する<TABLE_INSTANCE>は、テーブルインスタンスページで定義されているインスタンスです。
<TABLE_INSTANCE>.getRows(maxRows: Int, success: (List<ZCatalystRow>, ResponseInfo) -> Unit, failure: ((ZCatalystException) -> Unit)? = null): ZCatalystRequest<ZCatalystResponse<ArrayList<ZCatalystRow>>>?
パラメータ:
- maxRows: このイテレーションで取得する最大行数
以下にサンプルコードスニペットを示します:
ZCatalystApp.getInstance().getDataStoreInstance().getTableInstance("EmployeeDetails").getRows( 10,
{
rows, info ->{
println("The token for next set of rows - ${info.nextToken}")
println("Boolean to know if there are records in next page - ${info.moreRecords}")
}
},
{
exception -> println("Failed to get the rows! $exception")
})
さらに、ループの各実行後に、後続のデータ取得を許可するトークン文字列がレスポンスで返されます。このトークンはinfo.nextTokenを通じて取得でき、後続のイテレーションでnextTokenの値として渡します。ループの最初の実行時には、nextToken文字列は渡しません。
コードスニペットに示すように、info.moreRecordsを通じて取得待ちの行数を確認することもできます。
ページネーションを続行する場合は、nextTokenとmaxRowsを渡して次の行セットを取得できます。以下のように行います。
<TABLE_INSTANCE>.getRows(nextToken: String, maxRows: Int, success: (List<ZCatalystRow>, ResponseInfo) -> Unit, failure: ((ZCatalystException) -> Unit)? = null): ZCatalystRequest<ZCatalystResponse<ArrayList<ZCatalystRow>>>?
パラメータ:
- maxRows: このイテレーションで取得する最大行数
- nextToken: 次の行セットを取得するための認可トークン
以下にサンプルコードスニペットを示します:
ZCatalystApp.getInstance().getDataStoreInstance().getTableInstance("EmployeeDetails").getRows( "1000.6f********" , 20 ,
{
rows, info ->{
println("The token for next set of rows - ${info.nextToken}")
println("Boolean to know if there are records in next page - ${info.moreRecords}")
}
},
{
exception -> println("Failed to get the rows! $exception")
})
info.moreRecordsがFALSEを返すまで、nextTokenとmoreRecordsの情報を取得できます。
最初のイテレーション後に残りの全行を取得し、maxRowsの制限を設定しない場合は、以下の方法で行うことができます:
<TABLE_INSTANCE>.getRows(nextToken: String, success: (List<ZCatalystRow>, ResponseInfo) -> Unit, failure: ((ZCatalystException) -> Unit)? = null): ZCatalystRequest<ZCatalystResponse<ArrayList<ZCatalystRow>>>?
パラメータ:
- nextToken: 次の行セットを取得するための認可トークン
以下にサンプルコードスニペットを示します:
ZCatalystApp.getInstance().getDataStoreInstance().getTableInstance("EmployeeDetails").getRows( "1000.6f********",
{
rows, info ->{
println("The token for next set of rows - ${info.nextToken}")
println("Boolean to know if there are records in next page - ${info.moreRecords}")
}
},
{
exception -> println("Failed to get the rows! $exception")
})
これにより、info.moreRecordsはFALSEを返します。
全行の取得
以下のコード構文に示すように、getRows()メソッドを使用して、指定したインスタンスのテーブルの全行を取得できます。操作が成功した場合、このメソッドはフィルターや条件なしでテーブルの全行を返します。
以下のコード構文で使用する<TABLE_INSTANCE>は、テーブルインスタンスページで定義されているインスタンスです。
<TABLE_INSTANCE>.getRows(
success: (List<ZCatalystRow>,ResponseInfo) → Unit,
failure: ((ZCatalystException) → Unit)?= null):
): ZCatalystRequest<ZCatalystResponse<ArrayList<ZCatalystRow>>>?
以下にサンプルコードスニペットを示します:
val table = ZCatalystApp.getInstance().getDataStoreInstance().getTableInstance("EmployeeDetails") //これをあなたのテーブル名に置き換えてください
table.getRows(
{
rows, info ->{
println("The token for next set of rows - ${info.nextToken}")
println("Boolean to know if there are records in next page - ${info.moreRecords}")
}
},
{
exception -> println("Failed to get the rows! $exception")
})
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us