问题标签 [dynamo-local]

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 回答
3329 浏览

amazon-dynamodb - 如何在 dynamo DB 上查询嵌套属性

我有以下方式的数据结构。我想检索所有具有subjectName PHYSICS PAPER-I 和marksGained 40 的记录。

是否可以查询此类记录?我们可以使用其他库来实现这一目标吗?

0 投票
1 回答
615 浏览

bash - DynamoDB Local - 以 bash 别名开头时缺少表

我已经在我的 Mac 上本地安装了 DynamoDB ( http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html ),并且我编写了一个 bash 别名,旨在避免cd进入 DynamoDB 目录和跑

$ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

每次我想启动数据库。但是,别名似乎没有按预期工作......

首先,我写的别名是

alias ddb-start="java -Djava.library.path=~/Documents/dynamodb/DynamoDBLocal_lib -jar ~/Documents/dynamodb/DynamoDBLocal.jar -sharedDb"

当我运行时$ ddb-start,数据库按预期启动:

问题是,除非我从 运行脚本,否则我的~/Documents/dynamodb/所有表都丢失了。

所以如果我再跑cd,一切都很完美。但是,如果我打开一个新的终端窗口并运行(或从 以外的任何地方运行它),Dynamo 似乎会正常启动,但是当我在 JavaScript Shell 中列出表时,没有表。Documents/dynamodb/$ ddb-start$ ddb-startDocuments/dynamodb/

我希望能够从任何目录运行别名并让 Dynamo 正确启动和运行。我必须cd进入目录,即使有别名?还是我写的别名有问题?

*** 啊,我注意到,无论我从哪个目录运行它,shared-local-instance.db都会在该目录中创建一个副本。我不希望这种情况发生,我希望它指向shared-local-instance.db. ~/Documents/dynamodb/我怎样才能做到这一点?

0 投票
2 回答
1153 浏览

amazon-web-services - AWS 环境变量提供商不接受凭证

我正在使用以下代码在本地连接 dynamoDb

我的.env档案

我收到此错误

access key也尝试了&的基本硬编码,secret key但它似乎并没有在每次从默认路径获取时都有效~/.aws/credentials

TIA

0 投票
1 回答
1725 浏览

amazon-dynamodb - 根据日期从 dynamodb 中删除项目

我是 dynamodb 的新手,我可以根据密钥删除项目。

下面是代码片段:

我需要从我的表中删除不到 7 天的项目。我的表有一个名为“created_at”的字段,格式为“2017-10-25 14:54:52.278”

0 投票
1 回答
426 浏览

javascript - batchWriteItem() 返回不一致的结果

在节点 js 中,我尝试使用 batchWriteItem() 将记录写入 dynamoDB 表。

在我第一次调用函数 insertTransactionDetails() 时,我发送 9 条记录以插入,而在第二次调用同一函数时,我发送 2 条记录。

每次运行时插入到表中的最终记录都不同。

测试 1: 我看到第一次调用的 4 条记录,其次是第二次调用的 2 条记录,然后是第一次函数调用的 3 条记录。 测试 2: 我看到第一次调用的 2 条记录,其次是第二次调用的 2 条记录,然后是第一次函数调用的 5 条记录。

预期结果是从第一个函数调用中看到 9 条记录,然后是从第二次函数调用中看到 2 条记录。

我还注意到,由于某种原因,每次只插入 9 条记录,而不是总共 11 条记录(9+ 2)。

我已经尝试了很多调试和在线搜索,但无法理解根本原因。我将非常感谢有人帮助我在这里找到问题。非常感谢。

函数同时被称为insertTransactionDetails(dataToInsert,0,bulkSearchParams)。dataToInsert[][] 是一个二维数组。对于这个测试数据,它的大小将分别是 2 个调用的dataToInsert[0][9]dataToInsert[0][2]

batchWriteItem() 返回的数据粘贴在下面,显示 UnprocessedItems空 {},这让我相信表配置不是问题。

下面是代码。

0 投票
3 回答
4077 浏览

lambda - 如何在本地使用 dynamoDb 和 lambda

我认为这可能吗?我在 sam 模板中定义了一个 lambda 和 api 网关。我使用 sam-local 来启动它。在我的 lambda 中,我想连接到我的本地 dynamoDB,但 lambda 一直超时。代码如下:

如果此代码在 lambda 之外运行,则可以正常工作

0 投票
2 回答
2347 浏览

amazon-dynamodb - IN 运算符提供的操作数过多;操作数:119 dynamodb

尝试在 dynamodb 中使用 IN 操作,但出现以下错误。任何人都可以帮我提供替代解决方案吗?

变量参数 = {

};

错误 :: {

}

0 投票
0 回答
405 浏览

python-3.x - AWS(SAM 本地)Lambda 读/写关闭管道错误

我有一个非常简单的函数(py3.6),我正在sam-local通过它运行它start-api,我正在使用一个充满curl帖子的 shell 脚本进行测试:

validate_json该测试在大约 95% 的时间在正确的用例中运行良好,但在引发 anException尽管被捕获,或者当post_to_dynamo_db_local短路并提前返回(对象已经在 DB 中,返回)时失败(不一致)。
*我说正确的用例在大约 95% 的情况下都有效,因为有时我触摸东西但它失败了,但我触摸东西很可能是原因。虽然未经证实!

根据sam-local控制台,该函数似乎正确返回:

但是curl直到请求超时才收到响应:

大约在同一时间sam-local控制台响应:

有任何想法吗?对于这样一个简单的任务,函数运行时间似乎异常高,我认为这里的内存不应该是一个问题......

失败案例流程:
开始->检查输入(字符串)->引发异常->捕获异常->返回响应(字符串)

补充:有几件事有帮助:

  • 在卷发之间睡觉(最多尝试 10 秒,但偶尔仍会出错
  • 不缓存对表的引用(因此现在应该很快收集它们
0 投票
1 回答
511 浏览

java - 使用 Gradle 设置 AWS 开发环境

我正在为开发人员设置一个便利脚本,以便能够快速启动和运行,而无需启动多个终端会话、启动 DynamoDB、创建表,然后启动 SAM Local API 来模拟请求。我决定用 Gradle 来做这件事,部分原因是我想更好地学习 Gradle,但也因为它提供了一个简单的包装器,可以包含在 repo、可定制的任务和 Java 依赖项管理中。

所以我确定的步骤是:

  1. 获取 DynamoDB 本地 jar
  2. 启动它
  3. 创建表
  4. 启动 AWS Sam 本地 API

我遇到了 jar 主类无法找到依赖库的问题。这是构建gradle

SO的代码格式不可用

如您所见,我将二进制文件放在构建目录中,以便 Gradle 可以根据需要对其进行清理,Gradle 还包含所需的库以及 DynamoDbLocal-1.10.57.jar,如下所示:

SO的代码格式最差

下面是 Gradle 任务的终端堆栈跟踪

在此处输入图像描述

所以它无法在 jar 的主运行器中找到 org/apache/commons/cli/ParseException 类。我必须使用 JDGui 打开清单并找到 runner 类是什么,所以我也可能不正确?

0 投票
2 回答
1107 浏览

amazon-web-services - 使用多个字段动态扫描 DynamoDB 集合

我正在使用 springboot 和 DynamoDB 作为数据库创建一个 REST 服务。我有一个 StudentDTO 类,其中包含以下字段和 Subject 类,其主题信息为 (key,value pair) :

我有一些需要获取数据的标准。这些标准可能会有所不同。下面是一些例子:

  1. 可以获取关于名称、id 的数据 ("id":1,"name":"joe")
  2. 可以获取关于姓名、主题信息的数据 ("name":"joe",subjects:"[{"key":"S1","value":"Geography"},{"key":"S2","value “:“历史”}]”)
  3. 可能需要姓名、年份的数据

没有可以构建查询的固定标准组合。我尝试使用 DynamoDBScanExpression,但无法确定如何设置 filterExpression。

创建了 (key,value) 的映射,例如 (,)

我可以创建属性名和属性值(都在 DynamoDBDAO.java 中):

扫描查询

但是在 SCAN() 函数中它给出了异常:

请建议。