AWS CloudFormation转换-如何正确返回错误消息?

时间:2019-03-15 20:29:20

标签: amazon-web-services amazon-cloudformation

我有一个自定义的AWS :: CloudFormation :: Transform,它已附加到Lambda函数。成功回复后,我将以mentioned in the documentation的身份返回以下内容:

{
  "requestId": requestId,  //pulled from the event
  "status": "success",
  "fragment": value  //string value
}

这很好。但是,在发生错误的情况下,我不确定要怎么做。我知道根据文档,我应该返回相同的结构,但将状态设置为除“成功”之外的任何值,并且我假设(因为我似乎找不到任何要确认),错误消息在片段部分。这是我在发生错误情况时返回的内容:

{
  "requestId": requestId,  //pulled from the event
  "status": "failure",
  "fragment": err.code  //string value of error code
}

但是,在我的CloudFormation中,出现以下错误:

Transform ############::MyCustomMacro failed without an error message.

根据日志,我知道err.code具有值,所以这不是问题。

我是否缺少有关如何正确向CloudFormation返回错误的信息?

2 个答案:

答案 0 :(得分:1)

我已经进行了一些挖掘,并且目前无法通过CloudFormation宏失败返回错误消息。您必须将CloudWatch日志用于Lambda函数才能进行调试。我已经向CloudFormation团队提出了功能请求。

答案 1 :(得分:1)

我遇到了同样的问题,但是以下JSON响应终于对我有用:

{
  "requestId": requestId,
  "status": "failure",
  "fragment": value,
  "errorMessage": customErrorMessage   // String value
}