[AWS DA] API Gateway and Lambda Stage variable

 

1. First, create a Lambda function call `lambdav1`

2. Create three alias PROD, TEST, DEV

For each alias, you can modify the response body code, so that you are able to tell which alias currently working on.

3. Create API Gateway resouce `/`, method: GET; 

4. Enable "Use Lambda Proxy integration"

5. Lambda Function: ``lambdav1${stageVariables.lambdaAlias}

6. Alert you to add Permission for API Gateway to invoke alias:

7. Run the commands for `DEV`, `TEST`, `PROD`:

aws lambda add-permission   
--function-name "arn:aws:lambda:us-east-1:860348619467:function:lambdav1:PROD"
--source-arn "arn:aws:execute-api:us-east-1:860348619467:simzh6y9t2/*/GET/"
--principal apigateway.amazonaws.com --statement-id 10712fb2-6ee5-4383-9e66-3cddf29e438a
--action lambda:InvokeFunction
--region us-east-1

8. Then varify the alias resouce-based policy is not empty:

9. Now if you invoke API gateway "TEST" button with stage Variable

you should be able to see the response

10. Deploy API Gateway and create `dev`, `test`, `prod` stages. For each deploy, modify stage vairable to its alias

posted @ 2021-06-01 02:41  Zhentiw  阅读(104)  评论(0编辑  收藏  举报