PROD и STAGE находятся в одной учетной записи или в разных учетных записях? Я приму то же самое
Transform: AWS::Serverless-2016-10-31
Parameters:
Environment:
Type: String
AllowedValues:
- STAGE
- PROD
Resources:
MyLambda:
Type: AWS::Serverless::Function
Properties:
Handler: lambda_function.lambda_handler
FunctionName: !Sub ${Environment}_my_lambda
CodeUri: my_lambda
Это дало бы уникальное имя вашей лямбде из среды
Затем при развертывании шаблона используйте --parameter-overrides=Environment=STAGE
или --parameter-overrides=Environment=PROD
Вы можете настроить CloudWatch для прослушивания CodeCommit. Если ветка STAGE изменяется, вызовите CodeBuild, чтобы использовать ветку STAGE, и вызовите CloudFormation с параметром STAGE. То же самое для PROD