AmazonDynamoDBClient 和 DynamoDB 类 在其 java SDK 中的区别?

Difference between AmazonDynamoDBClient and DynamoDB classes in their java SDK?

我正在使用 Amazon 的 DynamoDB java SDK,想知道 AmazonDynamoDBClient and DynamoDB 类 之间的区别。我似乎无法在它们上找到任何东西,因为文档似乎很少。有什么理由我应该使用其中之一吗?它们有什么主要的优点或缺点吗?

这是个好问题。看起来 DynamoDBAmazonDynamoDBClient 的包装器,提供不同的接口。所以这可能是显而易见的,而不是您正在寻找的答案,但让我描述一下它们之间的一些区别。

AmazonDynamoDBClient createTable 方法 returns 返回一个 CreateTableResult 对象,而 DynamoDB 的 createTable 方法 returns 返回一个Table 对象。然后可以使用此 Table 对象对该 table 执行 CRUD。 Table 对象开始看起来像 DynamoDB 的通用 ORM 对象。所以它不是真正的 DynamoDB class vs AmazonDynamoDBClient,它更像是 DynamoDB & Table classes vs AmazonDynamoDBClient.

AmazonDynamoDBClient明显比classDynamoDB大。 DynamoDB 很新,在 1.9.x 中推出。但是这里还有一个class值得一提,DynamoDBMapperDynamoDBMapper 允许更多类似 ORM 的操作。允许开发人员注释他们的 JavaBean 数据模型,以便他们可以轻松地针对 DynamoDB table 进行 CRUD。您可以直接使用您的对象,DynamoDBMapper 将在 DynamoDB 数据库上执行 CRUD 工作。 DynamoDBMapperDynamoDB class 大。我想也许有些开发人员不想使用 DynamoDBMapper(可能不是 OO 或注释的粉丝?)并且需要另一种范例,但我只是假设。因此创建了 DynamoDBTable classes。使用 Table class,您可以比 AmazonDynamoDBClient 更轻松地与 table 进行交互,但无需创建 DynamoDBMapper 所需的 JavaBean 数据模型的开销.