我目前正在编写一个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管理多个阶段吗?
答案 0 :(得分:0)
您可以检查aws-exports.js
数组上的文件aws_cloud_logic_custom
吗?每个端点都有一个名为name
的属性,这是您与Amplify一起使用的属性。您可以通过更改为要使用的阶段来编辑endpoint
。默认情况下,aws-exports
使用dev阶段。