gpt4 book ai didi

powershell - CloudFormation 和 PowerShell : Template format error: unsupported structure with

转载 作者:行者123 更新时间:2023-12-03 07:29:56 28 4
gpt4 key购买 nike

使用 PowerShell 时,我无法获取任何要部署或验证的 CloudFormation 模板,但使用确切的模板,我可以使用 AWS CLI 或 AWS 控制台来执行此操作。

让我们采用一个基本的 CloudFormation 模板,将其命名为 Test.template

{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "Simple template.",
"Parameters" : {
"KeyName" : {
"Type" : "String",
"Description" : "Name of an existing EC2 KeyPair to enable SSH access to the web server"
}
},

"Resources" : {
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : "test",
}
}
}
}

没什么特别的,很基本。忽略在创建 EC2 资源时这会失败,这是一个格式正确的 JSON CloudFormation 模板。

现在,如果我使用 AWS CLI 运行此命令,它会成功返回并输出参数:

aws cloudformation validate-template --template-body file://c:/temp/Test.template

使用完全相同的文件,如果我在 PowerShell 中运行此文件,则会收到错误:

Test-CFNTemplate -TemplateBody file://c:/temp/Test.template

Test-CFNTemplate : Template format error: unsupported structure. At line:1 char:1 + Test-CFNTemplate -TemplateBody file://c:/temp/Test.template + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (Amazon.PowerShe...NTemplateCmdlet:TestCFNTemplateCmdlet) [Test-CFNTemplate], InvalidOperationException + FullyQualifiedErrorId : Amazon.CloudFormation.AmazonCloudFormationException,Amazon.PowerShell.Cmdlets.CFN.TestCFNTemplateCmdlet

我使用 AWS 控制台或使用 aws cloudformation create-stack 部署此模板也没有任何问题,我只是不明白为什么不能使用 PowerShell 来部署此模板。

New-CFNStack 也返回与上面相同的错误:

Template format error: unsupported structure.

我安装了最新版本的 AWS PowerShell 模块并且正在运行 Powershell 5.1.14409.1012

我发现的有关此错误的其他所有内容均来自那些遇到问题的人,因为他们没有在 TemplateBody 中使用 file:// 但这里的情况似乎并非如此。

最佳答案

显然-TemplateBody不支持本地文件URI。您首先需要将模板读入变量,然后像下面一样使用它。

$content = [IO.File]::ReadAllText("c:\test.template")
Test-CFNTemplate -TemplateBody $content

完成此操作后,它现在将为您提供预期的输出。

Test-CFNTemplate -TemplateBody $content

Capabilities : {}
CapabilitiesReason :
DeclaredTransforms : {}
Description : Simple template.
Parameters : {KeyName}

关于powershell - CloudFormation 和 PowerShell : Template format error: unsupported structure with,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289545/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com