当前位置: 首页 > 知识库问答 >
问题:

使用SDK的DynamoDB PartiQL分页

饶滨海
2023-03-14

我目前正在使用JS AWS-SDK的executeStatement使用PartiQL在DynamoDB中进行分页,但我返回的对象不包含用于分页的NextToken(仅项目数组)。这就是代码的样子(非常简单):

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);
}

我想知道是否有人使用DynamoDB的PartiQL处理分页。

这可能是因为我的分区键是字符串类型吗?

还在努力弄清楚。

谢谢,提前!

共有1个答案

阎经武
2023-03-14

事实证明,如果您想要一个NextToken,就不要使用AWS SDK for JavaScript的版本2。使用版本3。版本3将始终返回NextToken,即使它未定义。

从那里您可以算出您的限制等(在您实际获得NextToken之前的默认限制为1MB)。您需要查看Dynamodb v3执行语句方法。

您还可以查看dynamodb分页器,我从未使用过,但计划继续学习。

 类似资料:
  • 从API文档来看,dynamo db确实支持扫描和查询操作的分页。这里的关键是将当前请求的设置为上一个请求的的值,以获得下一组(逻辑页面)结果。 我试图实现同样的功能,但我使用的是,它似乎有很多优点,比如与数据模型紧密耦合。因此,如果我想做上述工作,我假设我会做如下工作: 我希望我的上述理解是正确的分页使用DynamoDBMapper。其次,我怎么知道我已经达到了结果的终点。如果我使用以下api,

  • 简介 安装Python SDK方法与安装命令行方法相同,参考 安装命令工具 。 使用SDK 使用时可以通过下面的方法加载封装的Xiaomi Cloud-ML客户端类。 from cloud_ml_sdk.client import CloudMlClient 然后使用用户的AKSK进行初始化。 client = CloudMlClient("access_key", "secret_key")

  • 我正在尝试使用node.jsaws-sdk将大文件上传到s3存储桶。 方法以分段上传方式完整上传文件。 我想使用新的V3 aws-sdk。在新版本中上传大文件的方法是什么?方法似乎没有这样做。 我见过一些方法,例如,但我似乎找不到使用它们的完整工作示例。 先谢谢你。

  • API接口按模块划分。如下图: 涉及的模块有: GPIO I2C SPI PWM 声音输入 声音输出和播放 UART 下面给出开发常用的api参考接口,其它模块具体的可以到对应driver下去查询。 GPIO 参考代码在:vsp\mcu\drivers\gpio\gpio_nre.c typedef enum { GPIO_DIRECTION_INPUT = 0, GPIO_DIR

  • API接口按模块划分。如下图: 涉及的模块有: GPIO I2C SPI PWM 声音输入 声音输出和播放 UART 下面给出开发常用的api参考接口,其它模块具体的可以到对应driver下去查询。 GPIO 参考代码在:vsp\mcu\drivers\gpio\gpio_nre.c typedef enum { GPIO_DIRECTION_INPUT = 0, GPIO_DIR

  • AWS Rekognition Javascript API规定,对于 方法, 和 可以采用 或 。我想使用 ,它可以是 字节(缓冲区,类型化数组,Blob,字符串) 图像字节的Blob最高可达5 MBS。 当我传递图像的 编码字符串时,JS SDK将再次重新编码(即双重编码)。因此服务器的响应错误为: __type:InvalidImageFormatException.Message:无效的图