问题标签 [amazon-dynamodb-streams]

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 投票
2 回答
946 浏览

amazon-s3 - AWS Lambda - 有没有办法在事件发生时将参数传递给 lambda 函数

我有一个 DynamoDB 表,每当添加新记录时,我都想将旧数据存档到 S3。所以我想我可以使用 AWS Lambda。因此 lambda 函数将获取新添加/修改的新记录。但我想传递(到 lambda 函数)记录必须上传到的 s3 路径的附加参数。

一种方法是将我想要传递给另一个表/s3 中的 lamda 函数的任何内容。但是这个(参数)会随着每条记录被插入到主表中而改变。所以我无法从我的 lambda 函数中读取它。(当 lambda 函数为第一个插入的记录执行时,将插入更多的记录)

有没有办法将参数传递给 lambda 函数?

PS:我想异步执行 lambda。

谢谢...

0 投票
1 回答
9555 浏览

amazon-web-services - DynamoDB 流到 S3

我正在使用数据管道 (DP) 进行 DynamoDB 的日常备份,但是,我想对 DP 运行丢失的数据进行增量备份(DP 运行之间的更新)。为此,我想使用 DynamoDB Streams + Lambda + S3 为 S3 带来实时 DynamoDB 更新。我了解 DynamoDB 流的工作原理,但是,我正在努力创建一个写入 S3 并说每小时滚动一个文件的 Lambda 函数。

有人试过吗?

0 投票
1 回答
1569 浏览

amazon-web-services - AWS DynamoDB 流的挂钩

AWS DynamoDB 提供有助于捕获表活动的流。据我了解,捕捉梦中变化的流程是Stream ARN -> Shards -> shardIterator -> Records。为了让应用程序监控 Dynamo 表上的更改,它必须继续执行上述循环。我想知道这个流程是否可以通过可以监视这些更改和触发器的钩子来简化,我的应用程序可以监听它们。我知道有一个 AWS Lambda 集成可以执行上述循环和警报,但我想知道应用程序是否可以侦听 AWS lambda 警报

npm 包dynamodb-stream确实可以更轻松地使用更改,但是如果需要尽快捕获所有表活动,轮询机制似乎不是最有效的

0 投票
1 回答
1930 浏览

amazon-web-services - 意外无限循环后的 AWS Lambda 令人担忧的行为

我不小心将一些 Java 代码部署到 AWS Lambda 中,其中包含以下明显有问题的 getter:

Lambda 函数配置了 15 秒和 320 Mo 的限制。它由 DynamoDB 流触发。部署有问题的代码后,我在 22 小时 17 左右修改了我的 DynamoDB 表,因此执行了代码。我检查了日志,正如您从前面的函数中所期望的那样,我遇到了一个经典的 StackOverflowError 和一个很长的堆栈跟踪。但是,令我惊讶的是,这并没有停止继续执行并报告更多堆栈溢出错误(CloudWatch 中的日志)的函数。当我意识到即使在 15 秒限制之后该功能也不会停止时,我更加担心。我找不到任何手动停止它的方法,所以我只是在 22h30 左右从 Lambda 控制台中删除了它,最终杀死了它。

在此处输入图像描述

此外,我确信我没有触摸我的 DynamoDB 表(也没有其他人可以访问它),也没有尝试以任何其他方式执行 Lambda 函数。它为什么一直执行几分钟,直到我删除它?我当然应该更加小心并首先进行一些本地预测试,但是持续时间限制不是应该保证一旦达到就不会执行任何事情吗?

谢谢您的帮助。

0 投票
1 回答
2557 浏览

amazon-dynamodb - python中的Dynamodb流

我想从 python 中的 dynamodb 流中读取数据,到目前为止我发现的替代方法是

  1. 使用 dynamodb 流低级库函数(如此处所述):然而,解决方案似乎几乎不可能在生产环境中维护,应用程序必须维护分片的状态等。

  2. 使用为读取 Kinesis 流而设计的KCL 库:该库的 python 版本似乎无法从 dynamodb 流中读取。

在 python 中成功处理 dynamodb 流的选项有哪些?(可能示例的链接将非常有帮助)

PS:我考虑过使用 lambda 函数来处理 dynamodb,但对于这个任务,我想在应用程序中读取流,因为它必须与无法通过 lamda 函数完成的其他组件交互。

0 投票
3 回答
3818 浏览

python - pynamodb 亚马逊凭证异常

我正在关注 pynamodb 文档

当我运行上面的代码时,它给出了错误:

并引发异常:

TableError:无法描述表:无法找到凭据

如何提供 pynamodb aws_secret_key_id 和 aws_access 密钥。我正在使用 dynamodb local 在本地计算机上运行该示例。

我如何在 pynamodb 中提供凭证信息。我确实设置了 aws_secret_key_id 和 aws_access_key 的环境变量,但仍然是凭证异常

有没有办法在 pynamodb 中提供 aws_access_key_id 和 aws_secret_access_key 作为参数,如下例所示:-

此代码工作并创建数据库,但我想使用 pynamodb 库

0 投票
2 回答
2573 浏览

java - 为什么我在 amazon-kinesis-client 的 JSONObject 上收到 NoClassDefFoundError?

我已将来自 aws-dynamodb-examples 的 DynamoDB 流适配器演示的代码合并到我的 Maven 项目中,但出现运行时错误:

知道为什么会发生这种情况以及我能做些什么来解决它吗?

我的 pom 文件是这样的:

0 投票
1 回答
130 浏览

c - 使用 c 从 amazon dynamo db 中检索数据

我是 C 语言的新手。我使用 aws_dynamo 库进行 amazon dynamo db 通信。我使用 aws_dynamo 库成功创建了一个表。

像这样的结果表

时间戳 | 姓名

101 | 马纳夫

102 | manaf2

但我无法使用 aws_dynamo 库从数据库中获取数据。

这是我的代码

我需要使用 C 代码从 amazon dynamoDb 获取超过 1000 个值。什么是实际问题?这种方法最适合我吗?

0 投票
1 回答
459 浏览

javascript - amazon dynamodb fiter 表达式返回错误

iam 使用 Web 控制台在 amazon dynamoDB 中创建了一个表。这是我添加一些数据后的表结构。

时间戳 | 用户名 | 文本

101 | 马纳夫 | 哈哈

102 | 马纳夫 | 你好

我需要获取两个 res 限制之间的数据。

这是我在 js 中的代码。

但我得到了这样的错误。

如何在 dynamo db 扫描方法中添加多个过滤器选项?

0 投票
1 回答
275 浏览

amazon-dynamodb - Kinesis 客户端库 DynamoDB 适配器会丢失数据吗

此处发布在 github 上的DynamoDB Streams Kinesis Adapter具有此功能,注释如下:

Kinesis 模型在父分片合并的情况下提供相邻的父分片 ID。由于 DynamoDB Streams 不支持合并,因此始终返回 null。

我对此感到担忧,我将使用 7 个分片的示例来描述我的担忧,为简单起见,我们将它们命名为06

0的父级由于保留策略不再可用,1,2,3,4,5由于 DynamoDB 表上的高流量是兄弟级,它们都以0作为父级,6是当前打开的分片和是合并的结果,因为 DynamoDB 表上的流量峰值下降了。我还将假设它只能有一个父级,因此它的父级随机为3

那么,这是否意味着如果我们使用此适配器针对具有上述状态的 DynamoDB 流启动 Worker,只会开始处理分片0、36