createexporttask|Filter CloudWatch日志使用JMESpath



我想使用创建导出任务将一些日志存储到S3中。

给定我的CloudWatch日志以以下格式显示:

{ "message": "Example message", "errorCode": "MY_ERROR_CODE_1", "someFlag": "flag", "otherFlag": "flag2", "level": "error" }
{ "message": "All good", "level": "info" }

在给定上述日志结构的情况下,是否可以使用query参数来过滤响应数据?

到目前为止,我的JMESPath尝试都没有成功(例如--query "level"只获取级别数据(。我不确定日志结构是否不正确,或者我是否误解了query参数的用途。

您可以使用AWS CLI的输出过滤多个标识符。

例如,在您的情况下,要获得有关消息和errorCode的信息,您可以使用以下查询:

--query '{Message: .message, Error: .errorCode}'

在上述查询中:

  • Message是CLI输出中message的标签
  • Error是CLI输出中errorCode的标签

有关更多信息,您可以访问此处:https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html

最新更新