End*_*dre 5 amazon-web-services aws-cloudformation aws-lambda
我正在使用 AWS SAM 将我的 AWS Lambda 函数部署到 AWS。
我能够Runtime在该Globals部分中定义一次,并且想知道是否可以为我的 Lambda 承担的 AWS 角色定义一个常量 ( Role: arn:aws:iam::12345678:role/lambda-role),该常量当前在每个函数的模板文件中重复。
这是我的 SAM 模板:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Globals:
Function:
Runtime: python3.7
Resources:
FunctionA:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambdas/
Handler: app.event_handler_a
Role: arn:aws:iam::12345678:role/lambda-role
FunctionB:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambdas/
Handler: app.event_handler_b
Role: arn:aws:iam::12345678:role/lambda-role
Run Code Online (Sandbox Code Playgroud)
Mar*_*cin 10
例如参数:
Parameters:
LambdaRoleArn:
Type: String
Default: arn:aws:iam::12345678:role/lambda-role
# Then for example
Resoureces:
FunctionB:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambdas/
Handler: app.event_handler_b
Role: !Ref LambdaRoleArn
Run Code Online (Sandbox Code Playgroud)
例如,使用映射:
Mappings:
Lambda:
Role:
Value: arn:aws:iam::12345678:role/lambda-role
# Then for example
Resoureces:
FunctionB:
Type: AWS::Serverless::Function
Properties:
CodeUri: lambdas/
Handler: app.event_handler_b
Role: !FindInMap [Lambda, Role, Value]
Run Code Online (Sandbox Code Playgroud)
映射的优点是部署模板时无法修改它们。但显然,如果你想能够做到这一点,那么就应该使用参数。
| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |