【发布时间】:2021-11-04 15:22:24
【问题描述】:
我正在尝试使用Cloud Custodian webhooks 在Datadog 中使用Datadog API. 创建标记事件
以下代码几乎可以工作,除了account_id 没有在Datadog 中创建为标签。如果我捕获发送的正文,它包含"01234"(即一个字符串。)
- type: webhook
url: https://api.datadoghq.eu/api/v1/events
method: POST
headers:
DD-API-KEY: '`{{ dd_api_key }}`'
body: |-
{
"title": `nutkin news`,
"text": `squirrel found in account`,
"tags": [resource.Name, policy.name, account_id]
}
如果我删除标签中的 jmespath 查询并仅发送字符串文字,例如
`01234`
,它不会作为标签出现在Datadog,但如果我发送
`aws_account_id:01234`
它将显示为一个标签。
理想情况下,对于所有标签,我想要一个字符串和jmespath 查询的结果的混合,因为它对Datadog 的用户更有用(例如下面包含的内容。)
"tags": [`resource_name:`resource.Name, `policy_name:`policy.name, `account_id:`account_id]
我已经为此花费了几天时间。我已经阅读了custodian、json 和jmespath 上的所有文档,只是找不到括号、引号和反引号的正确语法。也许甚至不可能混合字符串文字和jmespath 查询。
重申一下这个问题,如何将字符串文字与jmespath 查询结合起来在custodian web hooks 中构建一个网络钩子主体?
【问题讨论】:
-
只是想说这看起来不错作为第一个问题。我会尽快让您知道我注意到的“货物”和“改进”,因此您可以从这里获得指导。 商品:您的标题是一个实际问题,这一事实非常出色。你会惊讶于有多少人忽略了这条规则。此外,技术具有链接,因此我们无需花费 30 多分钟的时间来研究问题。
-
改进: -- 应使用
backtick表示法让读者知道哪些术语是技术或对理解问题至关重要。 -- 在最后重复主要问题。有时上下文会揭示其他问题,使您不清楚您的主要问题是什么。如果这是我们在问题中读到的最后一件事,那么当我们回答时,它会在我们的脑海中浮现。 -- 最后,当您添加链接时,将其绑定到一个单词。这样它就不会打断周围的句子并分散读者的注意力。 -
注意:这里的目的不是为了降低您提交的内容。你的问题很好,尤其是第一个问题。我只是在回顾第一个问题并向每个用户提供一些反馈。我希望得到的那种反馈。我将进行编辑以添加我提到的一些改进。请记住,这并不是说原版不好。也就是说,好的总是更好的。
-
@NateT - 应该使用反引号让读者知道哪些术语是技术或理解问题的核心。 - 实际上反引号应该只用于代码、错误和其他原始文本文字内容。见When should code formatting be used for non-code text?。使用粗体或斜体强调。
-
感谢您的详细反馈和编辑 Nate
标签: json webhooks datadog jmespath cloudcustodian