问题标签 [amazon-kinesis-kpl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
408 浏览

aws-lambda - Kinesis 创建多个具有相同序列号的记录

根据 Kinesis 文档,序列号应该是唯一的,但是我们看到在多个记录中重复使用相同的值。我们的事件生产者是内部使用 KPL 的 Spring Boot 应用程序,消费者是 AWS lambdas。我们在测试期间执行了几次重新分片。您可以在下面看到多次重复使用的样本序列号。这怎么可能?

0 投票
0 回答
183 浏览

javascript - 如何将 AWS 中 kinesisvideomedia.getMedia 请求中的 data.Payload 转换/解码为 mkv 文件?

我正在尝试从正在工作的 AWS kinesis 实例中获取媒体(因为我可以将视频流式传输到它)。一旦我在我的 nodejs 代码中保存了来自 getMedia 调用的数据。我正在尝试将 Buffer 类型的 data.Payload 转换为 mkv 文件,以便稍后在我的程序中使用。任何建议/解决方案将不胜感激,已经花了很长时间搜索。

0 投票
1 回答
743 浏览

amazon - Spring Cloud Stream Kinesis 配置

我正在尝试在我的应用程序中集成 spring cloud stream kinesis,但我无法在手册中找到所有配置选项。我看过这个链接:

https://github.com/spring-cloud/spring-cloud-stream-binder-aws-kinesis/blob/master/spring-cloud-stream-binder-kinesis-docs/src/main/asciidoc/overview.adoc

提到的属性很少,例如:

我想知道如何设置一些我在文档中看不到的属性:

我正在寻找类似的东西:

0 投票
0 回答
62 浏览

amazon-web-services - 什么是 KPL 协议?

https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-integration.html

Kinesis Producer Library (KPL) 在单独的进程中运行,并使用 IPC 与您的父用户进程通信。这种架构有时被称为微服务,选择这个架构有两个主要原因:

...

2) 可以支持任意客户端

总有客户使用官方支持的语言以外的语言。这些客户也应该能够轻松使用 KPL。

如何“轻松”使用 KPL IPC?协议是什么?

0 投票
1 回答
106 浏览

security - Aamazon Kinesis 端点的安全性如何?Kinesis Producer Library (KPL) 是否安全地将消息发送到 Kinesis 终端节点?

我正在从本地数据源构建基于 Amazon Kinesis 的流数据摄取。我可以使用 Kinesis Producer Library (KPL) 向 Kinesis Data Stream 生成消息。我想知道通过 KPL 传输/摄取数据的安全性如何。它是使用下面的安全端点还是使用任何传输中的加密?Kinesis Data Stream 提供对静态数据的加密。但在这种情况下,在将数据写入 Kinesis Shards 之前,传输过程中的数据安全性如何?

0 投票
2 回答
2495 浏览

amazon-web-services - 使用 PutRecords 将多条记录加载到 Kinesis - 如何在失败的情况下仅重新发送失败的记录?

我正在使用 Lambda 将数据记录加载到 Kinesis 中,并且经常想要添加多达 50 万条记录,我将这些记录分批成 500 条,并使用 Boto 的put_records方法将它们发送到 Kinesis。我有时会看到由于超出允许的吞吐量而导致的失败。

发生这种情况时重试的最佳方法是什么?理想情况下,我不希望数据流中出现重复消息,因此我不想简单地重新发送所有 500 条记录,但我很难了解如何仅重试失败的消息。该put_records方法的响应似乎不是很有用。

我可以依赖响应记录列表的顺序与传递给 putRecords 的列表的顺序相同吗?

我知道我可以增加分片的数量,但我想显着增加将数据加载到此 Kinesis 流的并行 Lambda 函数的数量。我们计划根据源系统对数据进行分区,我不能保证多个函数不会将数据写入同一个分片并超过允许的吞吐量。因此,我不相信增加分片会消除对重试策略的需要。

或者,有人知道 KPL 是否会自动为我处理这个问题吗?

0 投票
0 回答
145 浏览

amazon-kinesis-kpl - KPL 是否支持代理配置?

我在微服务中配置了 Spring bean,如下所示,我用来连接到 Kinesis:

这个 GH issue指出 KPL 不支持代理配置,但我希望有一种方法可以在防火墙后面使用 KPL。所以,我的主要问题是 KPL 是否支持代理配置,如果不支持,我如何在公司防火墙后面使用 KPL/KCL?我在此处阅读了有关 AWS Kinesis VPC 终端节点的信息,那么如果我们不能将 KPL 与代理配置一起使用,这会是我们唯一的选择吗?

0 投票
0 回答
901 浏览

amazon-web-services - 如何以正确的格式从 Amazon connect 创建的 Kinesis Video 流中获取音频文件?

我正在尝试为 Amazon connect 中的呼叫中心设置语音邮件功能。我已将 Start Media 流块添加到流中。我还添加了一个由 Kinesis 流触发的 Lambda 函数。我的想法不是实时流式传输,但在流式传输完成后下载文件。

在 lambda 函数中,我尝试获取音频文件并在 s3 存储桶中下载为 .raw。当我下载并导入 audacity 工具(16 位签名 PCM,8000 Hz,1 通道)时,音频有很多噪音。有人可以告诉我如何解决这个问题吗?我想听到清晰的音频并将其转换为 .wav 文件。在 python 或 node.js 中编码。

来自 Kinesis 的 Lambda 触发器:

0 投票
1 回答
139 浏览

amazon-web-services - Kinesis Producer 回调函数 - 保证交付?

每天向 Kinesis 流式传输数十亿条消息。

我们正在寻找一种实现方式,使我们能够以完全一次保证的方式向 Kinesis 传递消息。

我们的生产者框架要求流接收器是幂等的,以保证一次性交付,而 Kinesis 不是。因此,我们目前至少收到一次交货。(重复是可能的,我们确实看到了它们,当流式微批处理由于生产者端的任何原因必须重新启动时)

我们开始研究 Kinesis Producer Library (KPL)回调函数。基本上,我们将根据每条消息中存在的密钥跟踪 DynamoDB 中已传递的消息和未传递的消息的状态。如果我们知道已经发送了一条消息,我们将跳过它以重新尝试传递。然后似乎完全一次是可能的..有两个问题

1) 我们唯一的问题——我们失去回调函数调用的可能性有多大(例如网络故障等),或者回调函数本身失败了(例如我们遇到了 DynamoDB 限制/中断等)——是这记录在某处?我知道机会并不高,但我们想设计一个系统,能够对这些预期的事情有弹性。

2)时间。假设 Kinesis 出于某种原因延迟调用了回调函数(5-15 毫秒就足以打破上述回调函数中的一些假设,这些假设在 DynamoDB 中保持交付状态)。虽然我们还没有收到关于交付的确认,但我们的流媒体制作者框架已经尝试重新交付它认为尚未交付。这个潜在问题的任何解决方法?

附言。我们知道一种解决方法是在应用程序端(来自该 kinesis 流的接收器)进行重复数据删除,但这不在我们的项目范围内,我们很难要求恰好一次进入该 Kinesis 流。

0 投票
2 回答
1965 浏览

amazon-kinesis - Kinesis vs KPL vs KCL

这是一个有点浅层次的问题。但是,我对这三项服务感到困惑。

我了解 KPL 产生快速数据,而 KCL 使用 Kinesis 产生的快速数据。但是,我不明白的是,如果 KPL 和 KCL 组成这一对,我们需要 AWS Kinesis 做什么?

另一种看待它的方式:如果 AWS Kinesis 可以产生快速数据而 KCL 可以使用它,那么我们需要 KPL 做什么?

非常感谢任何澄清的答案。