首页 > 解决方案 > 如何生成一个短 id 用作 dynamodb 上的键?

问题描述

我需要创建 ID 以用作 DynamoDB 上的键。检查了https://github.com/uuidjs/uuid但生成的 id 太长而无法记住。如何生成较短的视频,例如来自 youtube 视频 ID 的视频。

另外,我真的需要指定一个密钥,或者 Dynamo 可以像 firebase firestore 一样自动为我创建一个吗?

我的代码:

var db = new AWS.DynamoDB.DocumentClient();
var student = {
  TableName: "students",
  Item: {
    id: "abc123",
    name: "Mia",
  },
};

db.put(student)
  .promise()
  .then((response) => console.log(response))
  .catch((err) => console.log(err));

标签: javascriptamazon-dynamodb

解决方案


听起来您想构建一个 URL Shortener。有大量在线教程展示了如何在 AWS 中使用 DynamoDB 和 API Gateway 执行此操作,因此您可能希望在线搜索更详细的演练。

如何生成较短的视频,例如来自 youtube 视频 ID 的视频

您需要在应用程序代码中自己生成它。如果您使用的是 javascript,则可以使用类似这样的东西,它会创建一个随机字符串:

  let short_id = (Math.random() + 1).toString(36).substring(7);

请记住,如果生成的 ID 在数据库中不是唯一的,则需要包含重试逻辑。

我真的需要指定一个密钥,或者 Dynamo 可以像 firebase firestore 一样自动为我创建一个吗?

DynamoDB 不会自动为您的应用程序创建或管理 ID。您需要自己执行此操作。


推荐阅读