首页 > 解决方案 > 有没有办法在没有认知用户池和身份池的情况下使用 AWS Amplify 库 (JavaScript) 访问 s3 存储桶?

问题描述

我正在尝试使用放大库(JavaScript 来访问具有临时访问密钥和 STS 生成的秘密访问密钥的 s3 存储桶。但似乎我需要一个认知用户池和身份池。

import Amplify, { Storage } from 'aws-amplify';

Amplify.configure({
  Storage: {
    region: 'ap-south-1',
    endpoint: "http://localhost:4572",
    bucket: 'mybucket',
  }
})

Storage.list('photos/').then(res => console.log(res)).catch(err => console.log(err))

有没有办法在不使用 AWS SDK 的情况下实现这一目标?

[WARN] 56:56.803 AWSS3Provider - ensure credentials error No Cognito Identity pool provided for unauthenticated access
No credentials

标签: javascriptamazon-web-servicesamazon-s3amazon-cognitoaws-amplify

解决方案


您可以使用 AWS SDK for javascript,它在后台使用 AWS API。在这种情况下,您需要将 s3 存储桶公开/对所有人开放,或者使用 AWS IAM 凭证,这不是一种安全的方式。


推荐阅读