无法在 SAM 模板中添加策略

2024-02-18

我正在开发 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: '*'

参考:

  1. AWS::无服务器::函数PoliciesAWS SAM 规范上的属性 https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#properties
  2. GitHub 上的相关问题 https://github.com/awslabs/serverless-application-model/issues/224
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 SAM 模板中添加策略 的相关文章

随机推荐