Amazon DynamoDB 是不是支持查询结果的流式传输

Posted

技术标签:

【中文标题】Amazon DynamoDB 是不是支持查询结果的流式传输【英文标题】:Does Amazon DynamoDB support streaming of query resultsAmazon DynamoDB 是否支持查询结果的流式传输 【发布时间】:2019-09-01 20:16:07 【问题描述】:

我正在调查 Amazon DynamoDB 的使用情况,并希望将查询结果流式传输到我的远程客户端。

我找不到任何表明它支持所述流的 Amazon DynamoDB 文档。

我能找到的只是用于实时流的 Amazon DynamoDB 流端点,因为数据库中的数据发生了变化。

这些不是我感兴趣的流。

我希望查询 Amazon DynamoDB 并以流的形式检索结果,以使我能够通过 HTTP 将流数据传输到我的远程客户端。

Amazon DynamoDB 是否支持这种类型的结果流式传输?

我希望在我的服务器上部署类似于此的代码

private StreamingOutput getStreams() 
        return new StreamingOutput() 

            @Override
            public void write(final OutputStream outputStream) throws IOException, WebApplicationException 
                outputStream.write(getArticles());
                outputStream.flush();
                outputStream.close();
            
        ;
    

我的客户使用 Retrofit

@Streaming
    @GET
    Call<ResponseBody> fetchData();

【问题讨论】:

来自 DynamoDB 的结果通常很小,如果不是这样,它们仍会被分页为每个 @Michael-sqlbot 其他详细信息已添加到我的问题中 【参考方案1】:

除非我误解了您要执行的操作,否则 DynamoDB 确实允许流式传输。来自AWS Docs:

DynamoDB Streams 在任何 DynamoDB 表中捕获按时间排序的项目级修改序列,并将此信息存储在日志中长达 24 小时。应用程序可以访问此日志,并以近乎实时的方式查看修改前后出现的数据项。 ... 要读取和处理流,您的应用程序需要连接到 DynamoDB Streams 端点并发出 API 请求。

Amazon DynamoDB Streams actions

【讨论】:

它们不是我指的流。我希望能够在 DynamoDB 中查询所保存的任何数据并将结果作为流返回。

以上是关于Amazon DynamoDB 是不是支持查询结果的流式传输的主要内容,如果未能解决你的问题,请参考以下文章

使用 Amazon Dynamodb 进行不区分大小写的查询

DynamoDB 中分区和排序键查询的渐近性能是不是为常数 O(1)?

如何在对 aws dynamodb 表的查询中获取所有结果?

我们可以同时查询和删除 Amazon DynamoDB 中的项目吗?

您如何查询 DynamoDB?

如何将Amazon SQS与Dynamodb集成