Stage management with AWS Mobile hub and AWS Amplify

298 views Asked by At

I am currently writing a web app and am using AWS Amplify.

I created my API Gateway and my lambdas before using Amplify so I imported my existing API to Mobile Hub.

My API gateway has 2 stages dev and prod.

According to the Amplify documentation here is the code to call my API from my app.

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

apiName is auto generated by Mobile Hub and is always ...amazonaws.com/dev path will be /items for example

resulting in a call being made to ...amazonaws.com/dev/items

I haven't seen anything in Amplify or AWS documentation to be able to call ...amazonaws.com/prod/items using the Amplify library.

I tried to edit the mobile-hub-project.yml and change it from :

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

to :

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

and push the new configuration but the behaviour is still the same.

Could anyone help me to manage multiple stages using Amplify ?

1

There are 1 answers

0
FranciscoR On

can you check the file aws-exports.js on aws_cloud_logic_custom array. there each endpoint has an attribute called name which is the one you use with the Amplify. You can edit the endpoint by changing to the stage you want to use. By default aws-exportsuses dev stage.