目标:
- 将上传限制到特定的子目录集,这有助于后端识别上传的原因:
/avatar/...
,/cover/...
- 有办法识别上传的认知用户
- 防止其他用户覆盖该用户子文件夹中的内容
考虑到这一点,我无法弄清楚如何限制用户仅上传到名称源自用户的认知sub
标识符的子文件夹的能力。或者我可以从中识别并从认知池中获取用户的任何其他字符串。
例子:avatar/${aws:cognito-sub}/filename
我aws:userid
在文档中找到,但它指的是:
角色 ID:呼叫者指定的角色名称
其中角色 id 是角色的唯一 id,调用者指定角色名称由传递给 AssumeRoleWithWebIdentity 请求的 RoleSessionName 参数指定。
更多上下文:上传在 lambda 中处理。Lambda 转换图像,但随后需要将转换保存在不同的 s3 中并将它们引用给 dynamodb 中的用户。