6

我最近从旧版本的 aws-amplify 升级到版本

"aws-amplify": "^1.0.2"

这样做时,我在尝试上传到我的存储桶时立即开始出错。 [WARN] 38:42.445 StorageClass - error uploading": CredentialsError: "Missing credentials in config"

经过一番挖掘,我发现在最新版本的 aws-amplify 的存储配置中添加了一些新密钥;“证书”和“级别”。文档没有以任何方式提到这些,我无法准确找到这个“凭据”密钥需要什么值才能正常工作(手动配置 Auth 和 Storage)。任何人都知道这个凭证对象应该是什么样子的吗?

4

2 回答 2

1

您不需要手动设置凭据密钥,Amplify 会自动设置存储类的凭据。由于您的环境在更新之前正在运行,因此问题可能与aws-sdk软件包有关。该问题与您文件夹aws-sdk中的多个包有关。通常,由于您的项目文件被缓存,node_modules因此简单地删除文件夹是行不通的。aws-sdk以下是如何解决react-native项目问题的步骤,但您可以根据您的环境进行调整:

  1. 确保您的文件中没有aws-sdk依赖项,package.json因为aws-amplify已经包含 AWS 开发工具包。如果文件中有aws-sdk,请package.json运行命令将其删除:

    $ npm uninstall aws-sdk --save
    
  2. 确保您使用的是最新版本的aws-amplify软件包。

  3. 从您的项目文件夹中删除package-lock.json文件(不要忘记创建文件的副本)。

  4. $ rm -rf node_modules && npm install
    

    此命令将删除您的node_modules文件夹并根据文件重新安装所有软件包package.json

  5. 或者,您可以通过一一输入以下命令来清除本地缓存:

    $ watchman watch-del-all
    $ rm -rf /tmp/haste-map-react-native-packager-*
    $ rm -rf /tmp/metro-bundler-cache-*
    
于 2018-08-24T03:44:40.187 回答
0

这是因为 Amplify 使用 aws-sdk 来获取credentials(accessKeyId, secretAccessKey). 但它没有找到,因为你可能没有配置它。因此,在配置 aws-amplify 之前对其进行配置。无需卸载任何东西。

AWS.config.update({...credential})
Amplify.configure({...credential})
于 2018-12-06T13:43:33.887 回答