2

我正在使用 boto 和 cloudformation 来编排少量资源

用于创建云形成模板。我正在从本地磁盘读取 json 文件并创建 json 字符串作为参数传递template_body

try:
  fileObj = open(filename,'r')
  json_data = json.loads(fileObj.read())
  return json_data
except IOError as e:
  print e
  exit()

我的云形成连接字符串和堆栈创建是这样的

 cfnConnectObj = cfn.connection.CloudFormationConnection(aws_access_key_id=aKey, aws_secret_access_key=sKey, is_secure=True,debug=2,path='/',validate_certs=True,region=region[3]) #created connection object for cloudformation service

stackID = cfnConnectObj.create_stack('demodrupal',template_body=templateJson, template_url=None,parameters=[],notification_arns=[],disable_rollback=False,timeout_in_minutes=None,capabilities=['CAPABILITY_IAM'],tags=None)

我收到 Boto 错误[ERROR]:{"Error":{"Code":"ValidationError","Message":"Template format error: JSON not well-formed. (line 1, column 3)","Type":"Sender"}

为什么会出现这个错误?我用过json.loads,但它仍然显示 Json 格式不正确。我有什么遗漏吗?

请点亮我

**我是 python 和 boto 的新手

4

1 回答 1

1

json.loads 接受 json 并将其转换为 python 对象。如果您已经有一个 JSON 文件,您可以直接将该文件传递给服务。或者,您可以将 JSON 加载到 python 中,在 python 中进行任何调整,然后使用 json.dumps 来获取格式良好的 JSON。

于 2013-07-22T16:23:18.727 回答