Есть ли способ обновить и отобразить поле в тексте запроса Azure Application Insight с помощью KQL?

тело запроса:

{
name: "SomeName",
insertionTime: "timeInUtc"
}

запрос:

requests 
| where url contains "/get"
| extend requestBody = parse_json(customDimensions["Request-Body"]) 
| project requestBody

Я хочу показать тело запроса с обновленной меткой времени в таблице результатов. как метка времени плюс 2 часа.

Я хочу использовать это тело запроса с новой меткой, чтобы я мог повторить те же запросы снова с новой меткой времени для неудачных запросов. Я пытаюсь создать некоторую автоматизацию для неудачных вызовов API с новой отметкой времени в теле запроса.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
72
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

(Предполагая, что вы знаете, что вы, конечно, не можете обновить фактические сохраненные данные в таблице).

В своем запросе вы можете выполнять любые математические операции, которые вам нравятся:

requests 
| where url contains "/get"
| extend requestBody = parse_json(customDimensions["Request-Body"]) 
| project SalaryExtended=toint(requestBody.salary)
| extend IncreasedSalary=SalaryExtended+100

Да, на самом деле я обновил вопрос, чтобы лучше уточнить мое требование. Я хочу использовать это тело запроса с новой меткой, чтобы я мог повторить те же запросы снова с новой меткой времени для неудачных запросов. Можете ли вы помочь мне с этим?

Anand Varkey Philips 12.04.2023 10:52
Ответ принят как подходящий

Чтобы показать тело запроса с обновленной отметкой времени в таблице результатов. как метка времени плюс 2 часа:

Вы можете использовать приведенный ниже запрос kql для достижения ожидаемых результатов.

requests 
| where url contains "/get"
| extend requestBody = parse_json(customDimensions["Request-Body"]) 
| extend latestTimestamp = datetime_add('hour', 2, todatetime(requestBody.insertionTime))
| extend newinsertiontime = tostring(latestTimestamp)
| project newinsertiontime

Поскольку у меня нет никаких результатов в данной отметке времени, я получил ожидаемый результат ниже.

Вы можете использовать pack_array, чтобы объединить все результаты с именем, временем вставки, а также новым временем вставки, как указано в данном MSDoc.

Это было полезно. Но мог бы использовать сам replace_string. Не надо так усложнять.

Anand Varkey Philips 13.04.2023 14:52

Другие вопросы по теме