如何运行现有的 aws 放大项目

hyp*_*ack 6 amazon-web-services aws-amplify

我被要求在一个现有的aws amplify reactJs项目上工作。通常我会简单地从 github 或 bitbucket 克隆项目 repo,但这个项目是 am amplify 项目,需要一整套配置。我在 cli 上设置了几个 aws 配置文件,并且可以访问此项目的 aws cludservices,但无法在本地运行该应用程序,因为我的aws-exports.js文件中没有所需的身份验证配置。

根据现有项目的放大 cli 文档,我应该能够运行amplify init --app https://bitbucket.org/brooklynva/brooklyn-ocr-poc.git. 然而,这尝试更新 aws 上的 cloudformation 堆栈,但幸运的是失败了。它更新了aws-exports.js文件,但仅限于此:

// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.

const awsmobile = {
    "aws_project_region": "us-east-2"
};


export default awsmobile;
Run Code Online (Sandbox Code Playgroud)

因此,我发现amplify pull --frontend使用我放入 bash 文件的其他一些参数运行将等同于运行git pull. 运行该命令后,配置文件中仍然没有任何更新。

#!/bin/bash
set -e
IFS='|'

REACTCONFIG="{\
\"SourceDir\":\"src\",\
\"DistributionDir\":\"build\",\
\"BuildCommand\":\"npm run-script build\",\
\"StartCommand\":\"npm run-script start\"\
}"
FRONTEND="{\
\"frontend\":\"javascript\",\
\"framework\":\"react\",\
\"config\":$REACTCONFIG\
}"

amplify pull \
--frontend $FRONTEND \
--yes
Run Code Online (Sandbox Code Playgroud)

所以我的问题仍然存在,我如何aws amplify从现有项目启动一个已经存在的应用程序并生成在本地运行应用程序所需的配置文件,而无需创建应用程序的人与我共享该配置文件?

小智 12

对我来说,有效的是使用amplify init命令传递 appId 而不是 repo url。例如amplify init --appId YOUR_APP_ID


dan*_*nca 5

您需要创建或使用现有的 Amplify 环境

检查您可用的环境

amplify env list

与 git 类似,它将显示环境列表(将其视为 git 上的分支)

查看现有环境之一或为您创建一个新环境,Amplify 允许您创建一个环境,例如,为特定用户创建环境,即:dev-myuser

amplify env checkout <exising-environment>

或者

amplify env add

add命令是交互式的,会询问您一些问题来设置您的环境

之后,你应该有你的aws-exports.js一套

然后你推动你的改变

amplify push

有关 Amplify 环境的更多详细信息: https://read.acloud.guru/multiple-serverless-environments-with-aws-amplify-344759e1be08

来自官方文档:https://aws-amplify.github.io/docs/cli-toolchain/quickstart#environments-and-teams