【问题标题】:S3 error undefined (reading byteLength) for AWS AMPLIFYAWS AMPLIFY 的 S3 错误未定义(读取 byteLength)
【发布时间】:2022-01-26 20:46:28
【问题描述】:

我不断得到一个 TypeError: Cannot read properties of undefined (reading 'byteLength') 将 AWS 与 Amplify 结合使用时出错。

当我通过 Amplify CLI 添加 s3 时,似乎没有正确创建 s3 存储桶权限。

当我从https://docs.amplify.aws/lib/storage/getting-started/q/platform/js/ 添加示例 s3 存储桶策略时

还是不行。

AWSS3Provider - get signed url error TypeError: Cannot read properties of undefined (reading 'byteLength')

我的代码调用它:

const res = await Storage.get("test.json");

这包括任何Storage.listStorage.put 命令。

这让我相信它无法从存储中获取密钥。我已经通过令人费解的 cli 完成了这一切。

【问题讨论】:

  • 您可以更具体一些,缺少哪些权限?你在哪里/什么时候得到异常?您如何得出异常是由于缺少权限引起的结论?提到的策略将附加到 IAM 认知角色,而不是 S3 存储桶
  • 我认为这是权限,因为我有一个基本示例,但它不起作用。我会发布更多细节。

标签: json amazon-web-services amazon-s3 aws-amplify


【解决方案1】:

当我添加示例 s3 存储桶策略时
问题是:我应该为经过身份验证的用户添加什么主体?有人有样品吗?

提到的策略将附加到 IAM 认知角色 Auth_RoleUnauth_Role(或者是命名的认知用户的角色)而不是 S3 存储桶。那么委托人就是 IAM 角色本身。

理论上,您可以将定义的策略附加到 S3 存储桶,并将委托人定义为已验证和未验证用户的 Cognito 角色

【讨论】:

    猜你喜欢
    • 2023-02-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    相关资源
    最近更新 更多