[英]“Missing credentials in config” with aws-amplify Storage
我最近從舊版本的aws-amplify升級到了version
"aws-amplify": "^1.0.2"
這樣做時,嘗試上傳到存儲桶時,我立即開始出錯。 [WARN] 38:42.445 StorageClass - error uploading": CredentialsError: "Missing credentials in config"
經過一番挖掘后,我發現在最新版本的aws-amplify中,一些新密鑰已添加到存儲配置中。 “憑證”和“級別”。 文檔沒有以任何方式提及這些內容,並且我無法確切找到此“憑證”密鑰需要什么值才能正常工作(使用Auth和Storage的手動配置)。 任何人對此憑證對象應該是什么樣的都有任何想法?
您不需要手動設置憑據密鑰,Amplify會自動設置Storage類的憑據。 由於您的環境在更新之前可以正常工作,因此該問題可能與aws-sdk
軟件包有關。 該問題與node_modules
文件夾中的多個aws-sdk
軟件包node_modules
。 通常,簡單地刪除aws-sdk
文件夾不起作用,因為已緩存了項目文件。 以下是解決react-native
項目問題的步驟,但是您可以根據自己的環境進行調整:
確保您的package.json
文件中的依賴項下沒有aws-sdk
,因為aws-amplify
已包含AWS開發工具包。 如果package.json
文件中包含aws-sdk
,請運行以下命令將其刪除:
$ npm uninstall aws-sdk --save
確保您使用的是最新版本的aws-amplify
軟件包。
從項目文件夾中刪除package-lock.json
文件(不要忘記創建該文件的副本)。
跑
$ rm -rf node_modules && npm install
此命令將刪除您的node_modules
文件夾,並根據package.json
文件重新安裝所有軟件包。
(可選)您可以通過輸入以下命令之一來清除本地緩存:
$ watchman watch-del-all $ rm -rf /tmp/haste-map-react-native-packager-* $ rm -rf /tmp/metro-bundler-cache-*
這是因為Amplify使用aws-sdk來獲取credentials(accessKeyId, secretAccessKey)
。 但找不到它,因為您可能尚未配置它。 因此,請先配置它,然后再配置aws-amplify。 無需卸載任何東西。
AWS.config.update({...credential})
Amplify.configure({...credential})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.