Проблема запроса приложения Insights - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу запросить AI, чтобы найти все записи трассировки, где таблица запросов имеет успех == false. Результатами должны быть все записи трассировки, относящиеся к InovationsId, в котором произошел сбой. Я пробовал этот запрос, и он терпит неудачу. И таблица трассировки, и таблица запросов имеют поле customDimensions ['InvocationId'], которое является ссылкой, которую я хочу использовать.

Я попытался выполнить эти запросы и получил синтаксическую ошибку

    traces
    | join (requests | where success == false) on customDimensions['InvocationId']

    traces
    | join (requests | where success == false) on $left.customDimensions['InvocationId'] == 
    $right.customDimensions['InvocationId']

    traces
    | join (requests | where success == false) on traces.customDimensions['InvocationId'] == requests.customDimensions['InvocationId']

Это сообщение о результатах запроса, которое я получаю:

объединение: недопустимые объекты, используемые в качестве атрибутов объединения. При использовании выражений равенства сущности следует использовать, указав их источник $ left или $ right.

1 Ответ

1 голос
/ 29 апреля 2020

Это связано с тем, что customDimensions['InvocationId'] является динамическим c типом, его следует преобразовать в строковый тип с помощью метода tostring().

Пример ниже:

traces
| extend aa=tostring(customDimensions['InvocationId'])
| join (
       requests 
       | where success == false
       | extend aa=tostring(customDimensions['InvocationId'])
) on aa
...