我已经在SAM中使用AWS :: Serverless :: API创建了API网关,现在我想向网关添加标签,以便对具有相同标签的每个网关实施安全约束。
Type: AWS::Serverless::Api
Properties:
Name: PrivateApi
StageName: v1
Tags:
- Key: TagName
Value: TagValue
MethodSettings:
...
查看文档后,我想到了上面的代码。如文档所述,它以上面显示的方式支持标签,但是在部署时出现以下错误。
samcli.commands.validate.lib.exceptions.InvalidSamDocumentException: [InvalidResourceException('PrivateApi', "Type of property 'Tags' is invalid.")] ('PrivateApi', "Type of property 'Tags' is invalid.")
链接到有关标签的文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html
任何帮助,将不胜感激!
答案 0 :(得分:1)
我发现使用SAM时,AWS :: Serverless :: API页面和“标签”页面上的文档略有错误。
在SAM中标记标签的正确方法如下。
Type: AWS::Serverless::Api
Properties:
Name: PrivateApi
StageName: v1
Tags:
TagName: TagValue
MethodSettings:
...
这种细微的差异使SAM可以正确部署。 另外,在API阶段,您可以验证代码是否已正确部署。