javascript - 如何生成一个短 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));
解决方案
听起来您想构建一个 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。您需要自己执行此操作。
推荐阅读
- loadrunner - 从请求标头中捕获授权令牌
- google-bigquery - BigQuery 验证器故障
- javascript - 在不知道 React/JavaScript 中字体的情况下计算文本的像素宽度
- insert - 解析错误:语法错误,意外'';' (T_CONSTANT_ENCAPSED_STRING) 在第 22 行的 F:\xampp\htdocs\project\dbconfig.php
- javascript - 是否可以在整个 Node Express 服务器上定义一个全局变量?
- android - 应用程序的多个清单
- sql - 具有动态选择语句的表值函数
- excel - 获取具有特定扩展名的文件名列表
- python - 使用时间触发器在 Azure 中运行 python 脚本的选项
- html - 选择选项在使用内部表时显示错误