在AWS SAM中,可以使用AWS::Serverless::Function资源模板来定义Lambda函数。要为多个函数使用相同的内联策略,可以使用AWS::Serverless::Function模板中的Policies属性。
以下是一个示例模板,其中包含两个具有相同内联策略的函数:
Resources:
MyFunction1:
Type: AWS::Serverless::Function
Properties:
CodeUri: my-function1/
Handler: app.lambda_handler
Runtime: python3.8
Policies:
- Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- s3:PutObject
Resource: arn:aws:s3:::my-bucket/*
MyFunction2:
Type: AWS::Serverless::Function
Properties:
CodeUri: my-function2/
Handler: app.lambda_handler
Runtime: python3.8
Policies:
- Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- s3:PutObject
Resource: arn:aws:s3:::my-bucket/*
在上面的示例中,MyFunction1和MyFunction2都具有相同的内联策略,该策略允许函数执行s3:PutObject操作。这两个函数可以通过修改CodeUri属性来指向函数代码的不同目录。
请确保将实际的资源和策略配置替换为适合你的需求的值。