1

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

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

我的 API 网关有 2 个阶段 dev 和 prod。

根据 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 管理多个阶段?

4

1 回答 1

0

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

于 2018-08-20T21:03:24.353 回答