使用AWS Mobile集线器和AWS Amplify进行舞台管理

时间:2018-08-03 09:02:31

标签: reactjs amazon-web-services aws-mobilehub aws-amplify amazon-mobile-hub

我目前正在编写一个Web应用程序,并且正在使用AWS Amplify。

在使用Amplify之前,我创建了API网关和lambda,因此我将现有的API导入了Mobile Hub。

我的API网关具有2个阶段的开发和生产。

根据Amplify文档,这里是从我的应用中调用我的API的代码。

API.get(apiName, path, myInit).then(response => {
    // Add your code here
}).catch(error => {
    console.log(error.response)
});

apiName由Mobile Hub自动生成,始终为... amazonaws.com/dev 路径将是/ items

导致对... amazonaws.com/dev/items的通话

我没有看到Amplify或AWS文档中的任何内容能够使用Amplify库调用... amazonaws.com/prod/items。

我尝试编辑mobile-hub-project.yml并将其更改为:

features:
  cloudlogic: !com.amazonaws.mobilehub.v0.CloudLogic 
    components:
      apiName: !com.amazonaws.mobilehub.v0.API 
        attributes:
          ...
          sdk-generation-stage-name: dev

至:

features:
  cloudlogic: !com.amazonaws.mobilehub.v0.CloudLogic 
    components:
      apiName: !com.amazonaws.mobilehub.v0.API 
        attributes:
          ...
          sdk-generation-stage-name: prod

并推送新配置,但行为仍然相同。

有人可以帮助我使用Amplify管理多个阶段吗?

1 个答案:

答案 0 :(得分:0)

您可以检查aws-exports.js数组上的文件aws_cloud_logic_custom吗?每个端点都有一个名为name的属性,这是您与Amplify一起使用的属性。您可以通过更改为要使用的阶段来编辑endpoint。默认情况下,aws-exports使用dev阶段。