TimeGenerated字段不采用提供的日期



我正在编写自定义日志以进行日志分析。

基于以下链接:

https://learn.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api#create-a请求

我应该能够在请求头中使用一个名为:time-generated-field的字段,文档中说:";如果指定字段,则其内容将用于"TimeGenerated"。如果未指定此字段,则TimeGenerated的默认值是接收消息的时间。消息字段的内容应遵循ISO 8601格式YYYY-MM-DDThh:MM:ssZ";

我传递了以下值:2021-11-11T19:52:45Z(作为字符串,因为不能将其作为日期时间对象传递(,但问题是,当我在日志分析工作区中查看时,TimeGenerated字段是this(今天的日期(:2021-12-01T18:41:04.529Z,它是事件接收的日期时间,所以基本上,它不占用我在标头中传递的真正事件生成时间2021-11-11T19:52:45Z

我是不是做错了什么?

任何帮助都将不胜感激,我在这里的想法已经用完了。

事实证明,我误读了文档,没有意识到time-generated-field不是您传入的参数,而是您发送到日志分析工作区的JSON数据体中的一个属性。

它可以用这种方式引用(这是一种方法的例子(:

def post_data(customer_id, shared_key, body, log_type):
method = 'POST'
#The string "raised" assigned to the TimeStampField variable below 
#is an actual property in the JSON object that I am sending to log 
#analytics, it contains the datetime in the expected format.
TimeStampField = "raised" 
content_type = 'application/json'
resource = '/api/logs'
rfc1123date = datetime.datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')
content_length = len(body)
signature = build_signature(customer_id, shared_key, rfc1123date, content_length, method, content_type, resource)
uri = 'https://' + customer_id + '.ods.opinsights.azure.com' + resource + '?api-version=2016-04-01'
headers = {
'content-type': content_type,
'Authorization': signature,
'Log-Type': log_type,
'x-ms-date': rfc1123date,
'time-generated-field': TimeStampField
}

肯定会创建一个pull请求来修改此处的措辞:https://learn.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api#create-a请求我觉得不是很直观

相关内容

  • 没有找到相关文章

最新更新