小编Kir*_*irk的帖子

无法连接到本地 DynamoDB

我无法连接到使用 cli 本地运行的 DynamoDB。

aws dynamodb list-tables --endpoint-url http://localhost:8000

无法连接到端点 URL:“http://localhost:8000/”

这也不起作用: aws dynamodb list-tables --region local 无法连接到端点 URL:“http://localhost:8000/”

我尝试使用不同的端口,但没有帮助。我也禁用了所有代理。我可以使用这样的应用程序连接到 DynamoDB,所以我知道这不是 dynamodb 问题: aws dynamodb list-tables --endpoint-url http://dynamodb.us-west-2.amazonaws.com --region us-west-2

{“表名”:[“音乐”]}

java endpoint amazon-web-services amazon-dynamodb amazon-dynamodb-local

7
推荐指数
1
解决办法
2996
查看次数

DynamoDB 中的热分区问题随着新的按需功能消失了吗?

我怀着极大的兴趣阅读了以下公告。

https://aws.amazon.com/about-aws/whats-new/2018/11/annoucing-amazon-dynamodb-on-demand/

新的“按需”功能确实有助于容量规划。阅读文档,我真的看不出他们是否做了一些“魔术”来解决热分区和分区键分发的问题。

如果您“按需”供应表,分区键设计是否同样重要?

amazon-web-services amazon-dynamodb

5
推荐指数
2
解决办法
5256
查看次数

boto3 DynamoDB - 查询操作:ExpressionAttributeNames 包含无效键

我有以下源代码来过滤 DynamoDB 中的项目。

    ...
    session = boto3.session.Session()
    db = session.resource('dynamodb', region_name=region, endpoint_url=endpoint)
    self.table_obj = db.Table(table_name)

    filter_expression = ':status_name <> :status_val'
    attr_names = {'status_name': 'status'}
    attr_values = {'status_val': 'UPDATED'} 

    response = table.query(FilterExpression=filter_expression,
                           ExpressionAttributeNames=attr_names,
                           ExpressionAttributeValues=attr_values)
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

ClientError: An error occurred (ValidationException) when calling the Query operation: ExpressionAttributeNames contains invalid key: Syntax error; key: "status_name"
Run Code Online (Sandbox Code Playgroud)

我看不出上面的代码有什么问题,我是否遗漏了什么?

python amazon-web-services amazon-dynamodb boto3

5
推荐指数
1
解决办法
9898
查看次数

ValidationException:该表没有指定的索引:GameTitleIndex

我正在使用 Vogels,NodeJS 的 DynamoDB 数据映射器。我正在根据 Vogels 的文档查询全局索引。我所做的就是创建一个具有全局二级索引的模型,如下所示:

let MyModel = vogels.define('MyModel', {
  hashKey: 'uuid',
  timestamps: true,
  updatedAt: 'updated_at',
  createdAt: 'created_at',
  schema: MyModelBaseSchema,
  indexes : [{ 
    hashKey : 'gameTitle', rangeKey : 'topScore', name : 'GameTitleIndex', type : 'global'
  }]
});
Run Code Online (Sandbox Code Playgroud)

并查询该索引

MyModel.query('game 1')
  .usingIndex('GameTitleIndex')
  .loadAll()
  .select("COUNT");
Run Code Online (Sandbox Code Playgroud)

运行任何测试时都会显示异常ValidationException: The table does not have the specified index: GameTitleIndex

根据文档,这就是我获取数据所需要做的全部工作。查询该索引时是否遗漏了任何内容?任何答案将不胜感激。提前致谢。

node.js amazon-dynamodb vogels

5
推荐指数
1
解决办法
1万
查看次数

如何将 AWS Cognito 用户与 DynamoDB 同步

我有一个架构设计,其中使用 Cognito 进行用户管理(电子邮件、电话号码是唯一的属性),然后使用 DynamoDB 来同步用户,以便我可以让 AppSync 的用户查询和获取一些用户信息。

我需要某种方法将 DynamoDB 用户与 Cognito 用户同步。目前,我有一个用户 postConfirmation lambda 触发器,用于在新用户确认上述所有信息时运行插入 DynamoDB 的操作,但是:

  • 我如何管理用户更新他们的电子邮件/电话:如果我直接使用 Cognito,然后他们必须确认他们的新电话号码/电子邮件,似乎没有另一个 Lambda 触发器,我可以在此处添加来同步此新数据使用 DynamoDB。
  • 如果我通过 Appsync 使用 DynamoDB 更新用户电子邮件和电话,然后通过 DynamoDB 流将其踢出到 lambda 函数以更新 Cognito 中的此信息,则用户尚未确认这些详细信息,因此该信息可能无效。

保持 Cognito 和 DynamoDB 同步的理想架构是什么?

amazon-web-services amazon-dynamodb amazon-cognito

5
推荐指数
1
解决办法
2825
查看次数

DynamoDB DAX是否可以水平扩展?

我想问的是,当我们向DynamoDB DAX群集中添加更多节点时,它将在各个节点之间分配数据,并且缓存容量将等于(节点数*节点容量),或者更多的节点用于可用性和负载分配,仅具有容量作为单节点的容量?

database caching amazon-dynamodb amazon-dynamodb-dax amazon-dax

4
推荐指数
1
解决办法
143
查看次数

失效在 AWS DynamoDB DAX 多区域中如何工作

我们正在使用 DynamoDB 全局表并计划在 DynamoDB 的顶部使用 DAX 来启用缓存。但我没有看到任何关于 DAX 失效将如何在多区域设置中发生的提及。

例如,假设有 2 个集群,一个在 us-west-2 中,一个在 us-east-2 中。如果我们使用 DAX 客户端更新 us-east-2 中的某些内容,它的缓存将被更新,但是在将数据复制到 us-west-2 时,全局表更新缓存也会在 us-west-2 中吗?我在DynamoDB 文档中没有看到任何提及。

amazon-web-services amazon-dynamodb amazon-dynamodb-dax

4
推荐指数
1
解决办法
1864
查看次数

每个项目的 DynamoDB 生存时间

我需要使用不同的实时配置使项目过期。在某些情况下,表中的项目也不会过期。在 Cassandra 中,我们可以在记录级别写入时设置生存时间。在 DynamoDB 中,我只能在表级别看到 TimeToLive 配置(我也可能错了。)但不能在项目级别看到。

  1. 有没有办法在执行 putItem 或
  2. 在对整个系统影响最小的情况下删除记录的最佳做法是什么?

如果不可能在项目级别设置 TTL,我想回到第二个选项。

amazon-dynamodb aws-sdk amazon-dynamodb-data-modeling

4
推荐指数
1
解决办法
4178
查看次数

Modeling Relational Data in DynamoDB (nested relationship)

Entity Model:

在此处输入图片说明

I've read AWS Guide about create a Modeling Relational Data in DynamoDB. It's so confusing in my access pattern.

Access Pattern

+-------------------------------------------+------------+------------+
| Access Pattern                            | Params     | Conditions |
+-------------------------------------------+------------+------------+
| Get TEST SUITE detail and check that      |TestSuiteID |            |
| USER_ID belongs to project has test suite |   &UserId  |            |
+-------------------------------------------+------------+------------+
| Get TEST CASE detail and check that       | TestCaseID |            |
| USER_ID belongs to project has test case  |   &UserId …
Run Code Online (Sandbox Code Playgroud)

hierarchical-data amazon-dynamodb dynamodb-queries amazon-dynamodb-index amazon-dynamodb-data-modeling

3
推荐指数
1
解决办法
233
查看次数

将数据从 DynamoDB 流式传输到 elasticsearch 失败,并显示“[indices:data/write/bulk] 无权限”

我正在尝试将数据从 DynamoDB 流式传输到 ElasticSearch。我已经在线查看了 AWS + 其他一些来源的文档,但遇到了安全问题。所以我使用的是 lambda 函数,从 DynamoDB 检索数据的过程很好,但是当我尝试写回 ElasticSearch 时,我收到一个错误:

“ [indices:data/write/bulk] 和用户 [name=arn:aws:iam::account number:role/dynamodb_to_es, backend_roles=[arn:aws:iam::account number:role/dynamodb_to_es] 没有权限,请求租户=空]"

这是我的 Lambda 函数。我意识到它总是会因为“_bulk”扩展名而失败。谢谢!!

我的 Lambda 函数:https : //github.com/YassineRjl/Lambda-Func---DynamoDB-to-ElasticSearch/blob/master/lambda_func.py

我的 IAM 角色: 在此处输入图片说明

amazon-dynamodb aws-lambda aws-elasticsearch

3
推荐指数
1
解决办法
2660
查看次数