DynamoDB的UUID?

Ada*_*dam 34 uuid amazon-web-services amazon-dynamodb

在向表中添加新项时,是否可以让DynamoDB自动生成唯一ID?

我注意到Java API提到@DynamoDBAutoGeneratedKey所以我假设有一种方法可以使用PHP.

如果是这样,应用程序代码是否会生成这些ID,还是在DynamoDB端完成?

Ste*_*pel 24

好问题 - 虽然在概念上可能,但目前看来这不是一个DynamoDB API级别的功能,因为CreateTablePutItem都没有提到这样的功能.

@DynamoDBAutoGeneratedKey您注意到的符号是Java注释,即Java SDK提供的语法糖确实:

Java计算机编程语言中的注释是一种特殊形式的语法元数据,可以添加到Java源代码中.

因此,作为Java SDK高级API中对象持久性模型的一部分提供@DynamoDBAutoGeneratedKeyAmazon DynamoDB注释之一(请参阅将对象持久性模型与Amazon DynamoDB一起使用):

将哈希键或范围键属性标记为自动生成.保存这些属性时,对象持久性模型将生成随机UUID.只有String属性可以标记为自动生成的键.

  • 谢谢,我不熟悉 Java,所以您的回答非常有帮助。所以@DynamoDBAutoGeneratedKey 只是让 Java API 生成 UUID,而不是 Dynamo 本身,对吗?如果 Dynamo 有一个 UUID 属性类型,它会在它们的一侧生成 ID 并在添加新项目时返回它们,那就太好了。 (2认同)
  • @Adam:确实,`@DynamoDBAutoGenerateKey` 只是 Java SDK 提供的自定义注释,它生成在编译时生成的代码,然后在 Java 应用程序中执行以在运行时生成 UUID - 这与 DynamoDB 无关像这样。我同意,原生 DynamoDB UUID 数据类型会非常方便 - 让我们希望 AWS 团队能够随着时间的推移扩展 DynamoDB 功能,他们以响应客户需求并相应创新而闻名! (2认同)

Sim*_*ran 5

在 javascript 和 Node.js 中使用 dynamodb 时。我使用 npm 模块 uuid 来生成唯一密钥。

前任:

id=uuid.v1();

参考:uuid npm