部署React应用到Amplify时出现AWS访问凭证未找到错误
问题:Amplify部署React应用时提示“AWS access credentials can not be found”构建失败
我正尝试将集成了Storage、Authentication和GraphQL API的React应用部署到Amplify,但推送代码时构建失败,报错显示“AWS access credentials can not be found”。本地运行一切正常,已尝试通过amplify configure重新配置以及重新连接GitHub,但均未解决问题。
构建日志
2023-05-20T09:21:17.184Z [INFO]: # Cloning repository: git@github.com:zyz/xyz 2023-05-20T09:21:19.101Z [INFO]: 2023-05-20T09:21:19.103Z [INFO]: Cloning into 'zeeepy'... 2023-05-20T09:21:19.104Z [INFO]: # Switching to commit: bd45c7afa30c9e71643a0e0a2991d0fc8440c7aa 2023-05-20T09:21:19.124Z [INFO]: Note: switching to 'bd45c7afa30c9e71643a0e0a2991d0fc8440c7aa'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c <new-branch-name> Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at bd45c7a Backend integrated 2023-05-20T09:21:19.180Z [INFO]: Successfully cleaned up Git credentials 2023-05-20T09:21:19.180Z [INFO]: # Checking for Git submodules at: /codebuild/output/src242373753/src/zeeepy/.gitmodules 2023-05-20T09:21:19.189Z [INFO]: # Retrieving environment cache... 2023-05-20T09:21:19.796Z [INFO]: # Retrieved environment cache 2023-05-20T09:21:19.797Z [INFO]: ---- Setting Up SSM Secrets ---- 2023-05-20T09:21:19.797Z [INFO]: SSM params {"Path":"/amplify/d3ia74jrzqfroo/main/","WithDecryption":true} 2023-05-20T09:21:19.836Z [WARNING]: !Failed to set up process.env.secrets 2023-05-20T09:21:42.406Z [INFO]: # Patching NPM package '@aws-amplify/cli' from 10.5.2 to 12.0.0... 2023-05-20T09:22:02.567Z [INFO]: # Done patching NPM package '@aws-amplify/cli' to version 12.0.0 2023-05-20T09:22:02.630Z [INFO]: # Retrieving cache... 2023-05-20T09:22:05.748Z [INFO]: # Extracting cache... 2023-05-20T09:22:10.438Z [INFO]: # Extraction completed 2023-05-20T09:22:11.441Z [INFO]: # Retrieved cache 2023-05-20T09:22:15.475Z [INFO]: ## Starting Backend Build # Starting phase: build 2023-05-20T09:22:17.637Z [INFO]: [33mNote: It is recommended to run this command from the root of your app directory[39m 2023-05-20T09:22:17.652Z [INFO]: 🛑 AWS access credentials can not be found. 2023-05-20T09:22:17.652Z [INFO]: Learn more at: https://docs.amplify.aws/cli/project/troubleshooting/ 2023-05-20T09:22:17.696Z [INFO]: 2023-05-20T09:22:17.697Z [INFO]: Session Identifier: 5668b0c6-8dc5-4dcd-8b00-38754fa06b84 2023-05-20T09:22:17.715Z [ERROR]: !!! Build failed 2023-05-20T09:22:17.716Z [ERROR]: !!! Non-Zero Exit Code detected 2023-05-20T09:22:17.716Z [INFO]: # Starting environment caching... 2023-05-20T09:22:17.716Z [INFO]: # Uploading environment cache artifact... 2023-05-20T09:22:17.824Z [INFO]: # Uploaded environment cache artifact 2023-05-20T09:22:17.824Z [INFO]: # Environment caching completed Terminating logging...
解决方案
1. 检查Amplify服务角色权限
- 登录AWS控制台,进入IAM服务,找到Amplify部署使用的服务角色(通常命名为
amplify-<app-id>-<env>-<随机字符串>-role) - 确保该角色已附加
AmplifyFullAccess策略,或包含以下核心权限:amplify:*s3:*(对应Storage模块)cognito-idp:*(对应Authentication模块)appsync:*(对应GraphQL API模块)
2. 重新关联Amplify后端配置
- 在本地项目根目录执行命令(替换为你的实际AppID和环境名,可从Amplify控制台获取):
amplify pull --appId d3ia74jrzqfroo --envName main - 完成后提交更新的配置文件到GitHub,触发重新构建
3. 验证构建环境变量
- 进入Amplify控制台的「应用设置」→「环境变量」页面
- 若手动配置过
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,确认值正确;若使用Amplify托管角色,无需手动添加这两个变量
4. 清除构建缓存
- 在Amplify控制台的构建页面,点击「清除缓存」按钮,然后重新触发构建任务
5. 确认本地配置文件完整性
- 检查本地项目的
amplify文件夹是否完整提交到GitHub,确保team-provider-info.json等核心配置文件未被忽略 - 若缺失相关文件,重新提交
amplify文件夹到仓库
内容的提问来源于stack exchange,提问作者Sudhanshu
相关产品推荐
相关产品推荐

