AWS SAM YAML 模板 - 未知标签 !Ref
AWS SAM YAML template - Unknown Tag !Ref
当我尝试部署我的 AWS SAM YAML 文件时,它失败并指出 !Ref 是未知标签。
有解决这个问题的想法吗?
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
MySimpleFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs4.3
CodeUri: s3://<bucket>/MyCode.zip
Events:
MyUploadEvent:
Type: S3
Properties:
Id: !Ref Bucket
Events: Create
Bucket:
Type: AWS::S3::Bucket
此错误消息几乎可以肯定是您的 IDE 使用的 YAML 解析器的误报。要评估 AWS SAM 模板的正确性,您应该改用 cfn-python-lint,它附带了大多数主要 IDE 的插件(不幸的是,不是 Visual Studio,而是 Visual Studio代码).
您可以在 settings.json
:
中添加自定义 YAML 标签
"yaml.customTags": [
"!Equals sequence",
"!FindInMap sequence",
"!GetAtt",
"!GetAZs",
"!ImportValue",
"!Join sequence",
"!Ref",
"!Select sequence",
"!Split sequence",
"!Sub"
]
首先验证你的扩展,我删除了名为 Redhat yaml 的扩展,问题解决了,我有下一个扩展,一切正常。
- vscode-cfn-lint
- 无服务器IDE
- aws-cloudformation-yaml
- Visual Studio 代码
的 AWS 工具包
Visual Studio 代码的 Ansible 扩展导致我出现此错误消息。我删除了它,这解决了我的问题。
CloudFormation Visual Studio Code extension should manage these tags for you
在 vscode 中,单击文件 > 将工作区另存为 > 单击保存
然后,打开 workspace.code-workspace 并粘贴以下内容:
{
"folders": [
{
"path": ".."
}
],
"settings": {
"yaml.customTags": [
"!Equals sequence",
"!FindInMap sequence",
"!GetAtt",
"!GetAZs",
"!ImportValue",
"!Join sequence",
"!Ref",
"!Select sequence",
"!Split sequence",
"!Sub"
]
}
}
当我尝试部署我的 AWS SAM YAML 文件时,它失败并指出 !Ref 是未知标签。
有解决这个问题的想法吗?
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
MySimpleFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs4.3
CodeUri: s3://<bucket>/MyCode.zip
Events:
MyUploadEvent:
Type: S3
Properties:
Id: !Ref Bucket
Events: Create
Bucket:
Type: AWS::S3::Bucket
此错误消息几乎可以肯定是您的 IDE 使用的 YAML 解析器的误报。要评估 AWS SAM 模板的正确性,您应该改用 cfn-python-lint,它附带了大多数主要 IDE 的插件(不幸的是,不是 Visual Studio,而是 Visual Studio代码).
您可以在 settings.json
:
"yaml.customTags": [
"!Equals sequence",
"!FindInMap sequence",
"!GetAtt",
"!GetAZs",
"!ImportValue",
"!Join sequence",
"!Ref",
"!Select sequence",
"!Split sequence",
"!Sub"
]
首先验证你的扩展,我删除了名为 Redhat yaml 的扩展,问题解决了,我有下一个扩展,一切正常。
- vscode-cfn-lint
- 无服务器IDE
- aws-cloudformation-yaml
- Visual Studio 代码 的 AWS 工具包
Visual Studio 代码的 Ansible 扩展导致我出现此错误消息。我删除了它,这解决了我的问题。
CloudFormation Visual Studio Code extension should manage these tags for you
在 vscode 中,单击文件 > 将工作区另存为 > 单击保存
然后,打开 workspace.code-workspace 并粘贴以下内容:
{
"folders": [
{
"path": ".."
}
],
"settings": {
"yaml.customTags": [
"!Equals sequence",
"!FindInMap sequence",
"!GetAtt",
"!GetAZs",
"!ImportValue",
"!Join sequence",
"!Ref",
"!Select sequence",
"!Split sequence",
"!Sub"
]
}
}