我正在开发 SAM 模板,用于在 AWS 无服务器存储库中发布我的应用程序。
但是当我尝试为 lambda 添加策略时,它显示错误:
无服务器应用程序规范文档无效。发现的错误数量: 1. 错误: ID 为 [SyncPostDataFromSfLambda] 的资源无效。 “策略”属性仅支持策略模板。
以下是我的 SAM 模板的示例:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "Deployment",
"Resources": {
"SyncPostDataToSfLambda": {
"Type": "AWS::Serverless::Function",
"Properties": {
"Handler": "index.handler",
"FunctionName": "myLambdaFunction",
"CodeUri": "s3 URL",
"Runtime": "nodejs6.10",
"MemorySize": 512,
"Policies": [
"AmazonDynamoDBFullAccess"
],
"Events": {
"PostResource": {
"Type": "Api",
"Properties": {
"RestApiId": {
"Ref": "API"
},
"Path": "/apipath",
"Method": "post"
}
}
}
}
}
}
}
截至今天(2018-10-09),SAM模板已经支持内联策略文档。
这是一个例子:-
Resources:
SomeFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs8.10
Policies:
- Statement:
- Sid: SSMDescribeParametersPolicy
Effect: Allow
Action:
- ssm:DescribeParameters
Resource: '*'
- Sid: SSMGetParameterPolicy
Effect: Allow
Action:
- ssm:GetParameters
- ssm:GetParameter
Resource: '*'
参考:
- AWS::无服务器::函数PoliciesAWS SAM 规范上的属性 https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#properties
- GitHub 上的相关问题 https://github.com/awslabs/serverless-application-model/issues/224
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)