amazon-web-services - 如何使用 Cognito 构建 AWS DynamoDB 表
问题描述
我正在尝试为关系数据库做一些相对简单的事情,但我不知道如何为非关系数据库做一些事情。
我正在尝试在 AWS 上制作一个简单的任务 Web 应用程序,人们可以在其中发布他们的任务。
我有一个名为 tasks 的表,它使用 AWS Cognito 提供的身份验证令牌中的用户 ID。我想知道如何返回用户信息。我不想通过每次用户发送请求时简单地调用 Cognito 来依赖它。所以,我的想法是创建另一个表来存储所有用户信息。然而,这并不是一种非常不相关的做事方式,因为 JOINS 非常糟糕。
所以,我想知道我是否应该执行以下任何操作
a) 使用 RDS
b) 不使用 Cognito 并设置我自己的 Auth 系统
c) 只使用包含所有用户信息的表进行 JOIN
d) 执行请求每次到 Cognito
解决方案
虽然我个人喜欢 cognito 的想法,但目前它有一些主要缺点......
您无法在不丢失密码的情况下备份/恢复用户池,您还必须实施自己的备份/恢复。一种解决方法是将用户密码保存在 cognito 自定义属性中。
我希望通过使用 api gateway/lambda 授权器将所有用户数据都放在 lambda 上下文中,但它不存在。或者我在使用 api 网关模板映射做错了什么
好东西 api gateway/lambda 授权器,最多可以缓存一个小时,不会再次调用授权器函数,这似乎是一个顶级功能。
- 不适用于 cloudformation,每次属性更新都会重新创建用户池而不恢复用户,从而失去用户。
我只在一个实现中使用了它,最终也复制了 DynamoDB 中的用户。
从那以后我一直在避免它。我希望他们能解决这些问题,因为它看起来像是每个项目都包含的一项服务,可以节省大量时间。
读了你的帖子,我问了自己同样的问题,也不确定答案
定价似乎是公平的。
获取用户信息的默认 5 个请求/秒似乎很奇怪,因为它会被执行多个 ajax api 请求的一页加载消耗。
推荐阅读
- unicode - 有没有一种简单的方法来创建使用备用 Unicode 字形的字体
- count - 在 WHERE 语句中使用 JOIN 的 COUNT 结果
- python - 有没有办法确定哪些值组合会导致一列的总和最低?
- arrays - 数组大小或索引可以与c中的数组一起传递给函数吗?
- html - 将按钮值复制/粘贴为文本?
- dart - 飞镖回归未来
以前从函数转换为不同的类型 - java - 如何在忽略java中的第一个索引的同时删除ArrayList中的重复字符串数组
- apache - Radicale 与 uwsgi 和 Apache 与 Debian:连接被拒绝
- python - 子类上的 singledispatchmethod 的解决方法
- python - 应用于熊猫系列时更改其他列值