amazon-web-services - 如何在预置期间获取 AWS CloudFormation 输出/调试语句?
问题描述
使用AWS Cloudformation时,我aws cloudformation create-stack
因一些尚不清楚的原因而失败。对于这个问题,错误和解释不相关,但我认为我传递的参数--parameters
在 CloudFormation 模板中未正确处理,或者在评估表达式或引用模板中的变量时可能存在错误。
无论如何,我真的希望能够在评估模板期间输出一些调试语句或表达式;堆栈的配置。将表达式输出到 CloudWatch Logs 或其他输出通道的 CloudFormation等效项是什么?logging.debug(some-expression)
CloudFormation Stacks 中的事件日志显示错误(在我的情况下),但不幸的是没有我需要修复错误的详细信息。它在执行/配置期间不显示变量或 CloudFormation 表达式的值,并且(据我所知)我无法创建将显示变量或表达式值的事件。对于预置任务,CloudWatch Logs 为空。并且aws cloudformation validate-template
没有显示任何错误,因此 CloudFormation 模板在语法上是正确的。
解决方案
将表达式输出到 CloudWatch Logs 或其他输出通道的与 logging.debug(some-expression) 等效的 CloudFormation 是什么?
不幸的是,AWS没有提供这样的功能。AWS 提供的唯一工具是aws cloudformation validate-template。最近的 AWS 博客中介绍了有关如何使用模板验证的一般信息:
但是,某种调试来自创建更改集,但这仅适用于更新现有堆栈时。
您还可以找到一些第三方工具,例如 yaml 检查器或 CloudFormation 模板 linter,以检查您的模板。许多这些工具都列在这个SO question 中。
最终,为了确保您的模板能够正常工作,您必须尝试部署它。
推荐阅读
- csv - 将文本行数据文件转换为 Cloumn 数据文件
- scala - 如何从另一个对象使用 Scala 案例类
- package - R-4.0.1 没有 doBy 包?
- python - 全局变量 discord.py 的问题
- androidplot - 如何使 AndroidPlot XYPlot 图例图标可点击?
- javascript - 为什么 document.write 不能处理带有 HTML 标签的变量?
- python - 为什么我不能背靠背使用 json.dump 和 json.loads?
- python - 数据框到 Excel - AttributeError:“系列”对象没有属性“列”
- google-chrome - 如何验证 Chrome AppCache Origin 试用版是否有效?
- ios - 如何在视图控制器顶部关闭呈现的 tableview,然后在选择行时实例化新的视图控制器