问题描述
我目前正在使用 JS AWS-SDK 的 executeStatement 在 DynamoDB 中使用 PartiQL 进行分页,但我返回的对象不包含用于分页的 NextToken(仅 Items 数组)。 代码如下(非常简单):
const statement = `SELECT "user","id" FROM "TABLE-X" WHERE "activity" = 'XXXX'`;
const params = {Statement: statement};
try {
const posted = await dynamodb.executeStatement(params).promise();
return { posted: posted };
} catch(err) {
throw new Error(err);
}
我想知道是否有人使用 PartiQL for DynamoDB 处理过分页。
这可能是因为我的分区键是字符串类型?
仍在努力弄清楚。
谢谢,提前!
解决方法
事实证明,如果您想要 NextToken,请勿使用适用于 JavaScript 的 AWS 开发工具包的第 2 版。 使用版本 3。版本 3 将始终返回 NextToken,即使它未定义。
从那里您可以确定您的限制等(在您实际获得 NextToken 之前的默认限制是 1MB)。您需要查看 dynamodb v3 execute statement method。
您也可以查看dynamodb paginators,我从未使用过,但打算学习。