如何将他人创建的Amplify文件部署至个人AWS账户?
本地Amplify现有资源部署到个人AWS账户解决方案
步骤1:重新初始化Amplify项目(保留本地资源)
在项目根目录执行amplify init,按照提示完成以下操作:
- 选择自己的AWS账户配置(或新建IAM权限)
- 选择目标AWS区域
- 当询问是否使用现有环境时,选择No,创建新的本地环境名称
- 初始化完成后,本地的
amplify/backend目录下的认证、函数资源文件会被保留,同时生成新的本地环境配置文件
步骤2:手动注册现有资源到Amplify元数据
Amplify通过amplify/backend/backend-config.json和amplify/team-provider-info.json识别资源,需要手动将现有资源添加到这两个文件中:
- 处理认证资源
确认amplify/backend/auth/[你的认证资源ID]目录存在,编辑amplify/backend/backend-config.json,添加认证资源配置(替换占位符为实际信息):"auth": { "你的认证资源名称": { "service": "Cognito", "providerPlugin": "awscloudformation", "dependsOn": [], "custom": {} } } - 处理函数资源
确认amplify/backend/function/[你的函数资源ID]目录存在,在backend-config.json的function节点下添加函数配置:"function": { "你的函数名称": { "service": "Lambda", "providerPlugin": "awscloudformation", "dependsOn": [], "custom": {} } } - 更新团队配置文件
编辑amplify/team-provider-info.json,在新创建的环境节点(如dev)下添加对应资源的占位配置:"dev": { "awscloudformation": { "AuthRoleName": "", "UnauthRoleName": "", "StackName": "amplify-你的项目名-dev-xxxx", "Region": "你的AWS区域", "DeploymentBucketName": "", "Auth": { "你的认证资源名称": {} }, "Function": { "你的函数名称": {} } } }
步骤3:同步资源到AWS账户
- 执行
amplify status,确认终端能列出已识别的认证和函数资源,状态为Create - 确认资源列表无误后,执行
amplify push,Amplify会根据本地配置在你的AWS账户中创建对应的Cognito认证池和Lambda函数
步骤4:验证部署结果
- 执行
amplify console auth或amplify console function,跳转至AWS控制台查看资源是否创建成功 - 测试函数触发逻辑或认证流程,确保功能符合预期
注意事项
- 若原项目资源有自定义配置(如Lambda环境变量、Cognito自定义属性),需确保
amplify/backend/auth/[资源ID]/parameters.json、amplify/backend/function/[资源ID]/src等目录下的配置文件完整 - 遇到资源名称冲突时,可修改
amplify/backend/function/[资源ID]/function.json中的name字段,重新执行amplify push
内容的提问来源于stack exchange,提问作者Fushihara
相关产品推荐
相关产品推荐

