小编Mat*_*ope的帖子

DynamoDB物化图模式的示例

我开始研究DynamoDB,但是在阅读有关物化图模式的部分时遇到了困难(https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-adjacency-graphs.html).

我想我得到了一些想法,但还不了解整件事.据我了解模式,主表存储边缘,每个边可以有propterties(数据属性).

例如(取自显示的表):节点1(PK 1)具有到节点2的边缘,其类型为DATE,并且边缘是BIRTH(SK DATE | 2 | BIRTH)类型.

我想这与Cipher中的() - [:BIRTH] - >(:DATE {id:2})有点相同,对吧?

但在此之后,不清楚一切如何融合在一起.例如:

  1. 数据属性可以是地图吗?
  2. 数据属性是否必须写入写入的两个位置?例如,在(1,DATE | 2 | BIRTH)和(2,DATE | 2)下?
  3. 如果我想添加一个出生于1980-12-19的新人,我是否必须先查找相应的节点?
  4. 如何获取与节点关联的所有属性?如何获得与边缘相关的所有属性?
  5. 如何查询相邻节点?
  6. ...

有人可以通过一些用例向我解释一切如何融合在一起吗?

提前致谢.

database-design graph nosql amazon-dynamodb

14
推荐指数
1
解决办法
685
查看次数

TransactionCanceledException 中的神秘事务冲突

在 aws-sdk (js) 中使用transactWriteItems我们得到一个TransactionCanceledException。该异常中的原因作为TransactionConflict给出。有时事务中的所有操作都失败,有时只有几个或只有一个。我们确实并行运行多个可以对相同项目进行操作的事务。文档没有提到这个特定的错误。可能的原因摘录:

  1. 不满足条件表达式之一中的条件。
  2. TransactWriteItems 请求中的表位于不同的账户或区域中。
  3. TransactWriteItems 操作中的多个操作针对同一项目。
  4. 没有足够的容量来完成交易。
  5. 项目大小过大(大于400 KB),或本地二级索引(LSI)过大,或因事务更改发生类似验证错误。
  6. 存在用户错误,例如无效的数据格式。

这些都不适用,当重试事务时,它似乎最终有效。有人知道这个例外吗?我找不到任何文件记录。

transactions amazon-web-services amazon-dynamodb aws-sdk

9
推荐指数
1
解决办法
5088
查看次数

如何在 Json 和 Map<String, AttributeValue> 之间进行转换

我想使用 AWS Java SDK 2.0 将编码为 Json 字符串的对象保存到 DynamoDB。

\n\n

在 AWS Java SDK 1.n 中,可以AttributeValues使用Item.fromJSON(myJsonString).toAttributeValues().

\n\n

虽然可以同时使用两个 SDK,但AttributeValue两个 SDK 版本(1.112.0)的定义不相同,不能互换使用。

\n\n

是否有 AWS 提供的或社区标准的方法可以将 json 字符串/blob 转换Map<String, AttributeValue>为 AWS Java SDK 2.0?

\n\n
\n\n

请注意\xe2\x80\x94此问题询问如何解决AWS Java SDK 2.0的问题,而不是 AWS Java SDK 1.n 的 dynamodbv2 模型。如果您认为此问题重复,请仔细检查重复问题/答案的 SDK 版本。

\n

amazon-web-services amazon-dynamodb aws-sdk aws-sdk-java-2.0

9
推荐指数
1
解决办法
7920
查看次数

为什么 dagger 被认为比 Guice 更适合 AWS lambda 实现?

我知道 dagger 通过生成代码在编译时创建注入,因此它的性能优于 Guice,后者在运行时进行注入。但特别是对于 lambda 的情况,我看到它在多个地方提到 Dagger 是首选。是因为冷启动问题吗?

由于 lambda 中的冷启动问题,当长时间收到请求时,lambda 会不断进行多次引导。那么,使用 dagger,与 Guice 相比,引导会快得多,因为它已经有了生成的代码?我是说与延迟加载相比,Guice 中的所有对象是否也在引导期间创建。

guice amazon-web-services aws-lambda dagger-2

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

具有另一个对象列表的对象的 DynamoDB Mapper 注释

我正在尝试为以下情况创建一个 dynamoDBMapper 注释。

我有 EmployeeLevelTrail,它是一个员工级别记录的类

@DynamoDBTable(tableName = TABLE_NAME)
public class EmployeeData {
    public final static String TABLE_NAME = “EmployeeDataRecord”;

    @DynamoDBAttribute(attributeName = “employeeID”)
    public String EmployeeID;

    @DynamoDBAttribute(attributeName = “EmployeeLevelDataRecords”)
    @DynamoDBTyped(DynamoDBMapperFieldModel.DynamoDBAttributeType.M)
    public EmployeeLevelTrail employeeLevelTrail

}


public class EmployeeLevelTrail {

    public final static String DDB_ATTR_EMPLOYEE_LEVEL_TRAIL = “employeeLevelTrail”;

    @DynamoDBAttribute(attributeName = DDB_ATTR_EMPLOYEE_LEVEL_TRAIL)
    private List<EmployeeLevelRecord> thisEmployeeLevelRecords;

    public void appendEmployeeLevelRecord(@NonNull EmployeeLevelRecord employeeLevelRecord) {

        thisEmployeeLevelRecords.add(employeeLevelRecord);

    }
}


public class EmployeeLevelRecord {

    private String Level;

    private String Manager;

    private Instant timeOfEvent;

}
Run Code Online (Sandbox Code Playgroud)

这是我的注释,但它不正确,因为我无法保存我的 DynamoDB 数据

annotations amazon-web-services amazon-dynamodb aws-sdk dynamodb-queries

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

活动与 AWS Step Functions 中的新回调模式功能之间的区别

AWS 发布了 AWS Step Functions(回调模式)的新功能:

https://aws.amazon.com/about-aws/whats-new/2019/05/aws-step-functions-support-callback-patterns/

我现在想知道,与现有的活动实际上有什么区别。

让我为您总结一下:

  • 步骤函数可以等待活动并向其传递某些输入值
  • 任何服务(例如 CLI、EC2、lambda 等)都可以轮询活动中的作业;做某事并报告活动任务的成功或失败。
  • 然后步骤函数收到错误或成功

与新公布的回调模式有何不同?在我看来,其实是完全一样的——我是不是错过了什么?

amazon-web-services aws-step-functions

2
推荐指数
1
解决办法
1358
查看次数

Amazon QLDB有任何扩展/性能限制吗?

主要亚马逊QLDB页说:

QLDB也是无服务器的,因此它会自动扩展以支持您的应用程序的需求。

但是,即使像DynamoDB这样的产品(具有几乎不受限制的自动缩放)也有一些缩放限制。(例如,DynamoDB每个分区密钥最多具有3k RCU。)

我试图找出QLDB的扩展/性能限制。每个键,表,分类帐或帐户是否有最大TPS或最大吞吐量?每个表,分类帐或帐户是否有最大存储大小?

截至2019年10月,``QLDB 配额和限制''页面上没有提及任何扩展限制。

QLDB 常见问题页面说,

与普通区块链框架中的分类账相比,Amazon QLDB可以执行的交易量是分类账的2至3倍。

这只是一个开始,但并不是很有用,因为“ 2-3X”的范围相对较大,而且他们还没有指定他们认为通用的区块链框架。

是否有任何限制(在文档中,AWS博客文章中,深潜会话等中)找到任何有关此的信息?

amazon-qldb

2
推荐指数
1
解决办法
273
查看次数