【问题标题】:How can I resolve non supported format error in aws cloudformation script如何解决 aws cloudformation 脚本中不支持的格式错误
【发布时间】:2020-12-19 01:54:42
【问题描述】:

我正在编写一个 cloudformation 脚本,它应该从 .txt 文件中选择堆栈名称、模板主体和参数文件进行部署。我不希望在新部署期间编辑 yaml 和 json 文件,而是应该编辑 .txt 文件 代码如下

aws cloudformation create-stack --stack-name $(<stack_name.txt) --template-body 
file://$(<stack_template_file_name.txt) --parameters file://$(<stack_parameter_file_name.txt) capabilities "CAPABILITY_IAM" "CAPABILITY_NAMED_IAM" --region=us-west-2

注意:stack_name.txt 包含要使用的堆栈的名称,stack_template_file_name.txt 包含template.yml 文件的名称,stack_parameter_file_name.txt 包含parameter.json 文件的名称

当我直接在 cli 中键入命令时,堆栈已部署,但是当我将其复制到 create.sh 并运行 ./create.sh 时,出现以下错误

`' doesn't match a supported format.`

我该如何解决这个问题?

【问题讨论】:

  • 某处有'?您是否仔细检查了您的文件?
  • 调试这类事情的一个好方法是在命令前面添加echo,看看执行了什么。
  • @Marcin 我已经检查了两次以上的代码,但是在 bash 脚本中没有找到该字符。
  • @JohnRotenstein 命令不会一个接一个地执行,它们形成一个传递给 aws cli 的命令。也许我不明白我应该如何回应。一个例子可以帮助我调试它。

标签: amazon-web-services amazon-cloudformation aws-cli


【解决方案1】:

就我而言,我使用的是 Ubuntu Windows Linux 子系统。

我正在从 properties 文件中获取 shell 变量。

例如我的属性文件abc.properties

#VSRX
region=us-west-1
key_name=cft111
key_location=/var/cft111.pem

我的 Shell 脚本abc.sh

#!/bin/bash
action=$1
source ./abc.properties

if [[ $action == "create" ]]; then
  aws cloudformation deploy \
      --template-file abc.yml \
      --stack-name ${parent_stack_name} \
      --capabilities CAPABILITY_NAMED_IAM \
      --region ${region} \
      --parameter-overrides KeyName=${key_name}
fi

我遇到了类似的问题,我也尝试回显命令,我看到区域参数本身在回显命令中是不可见的。

我的解决方法:这只是格式问题,我用以下两个命令修复了它。

sed -i 's/\r$//' abc.sh

sed -i 's/\r$//' abc.properties

【讨论】:

    【解决方案2】:

    我只是想评论一下,我在 aws CLI 中的另一个问题中发现了相同的错误。 ' doesn't match a supported format.

    运行时: aws s3 cp file.txt s3://bucket-name/

    问题是在 ~/.aws 配置文件夹。

    重新运行 ~/.aws configure 命令似乎没有解决问题

    但是,通过检查 ~/.aws 文件夹我能够删除导致问题的随机字符。

    【讨论】:

    • 谢谢你。刚遇到同样的问题。删除字符,现在它可以工作了
    【解决方案3】:

    我发现它与 EC2 环境有关,确切的命令在 Windows 和 Ubuntu 系统中工作。

    【讨论】:

      猜你喜欢
      • 2017-06-18
      • 2019-08-15
      • 2020-11-04
      • 2015-01-09
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      相关资源
      最近更新 更多