фильтрация в Azure SAQL, если элемент не существует во входных данных - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь записать SAQL в данные, поступающие из концентратора событий в формате json.

Входные данные для задания azure Stream Analytics указаны ниже.

{"ver":"2019-12-28 18:41:45.4184730","Data":"Data01","d":{"IDNUM":"XXXXX01","Time1":"2017-12-20T00:00:00.0000000Z","abc":"610000","efg":"0000","XYZ":"00000","ver":"2017-12-20T18:41:45.4184730Z"}}
{"ver":"2019-12-28 18:41:45.4184730","Data":"Data01","d":{"IDNUM":"XXXXX02","Time1":"2017-12-20T00:00:00.0000000Z","abc":"750000","efg":"0000","XYZ":"90000","ver":"2017-12-20T18:41:45.4184730Z"}}
{"ver":"2017-01-01 06:28:52.5041237","Data":"Data02","d":{"IDNUM":"XXXXX03","acc":-10.7000,"PQR":35.420639038085938,"XYZ":139.95817565917969,"ver":"2017-01-01T06:28:52.5041237Z"}}
{"ver":"2017-01-01 06:28:52.5041237","Data":"Data02","d":{"IDNUM":"XXXXX04","acc":-8.5999,"PQR":35.924240112304688,"XYZ":139.6097412109375,"ver":"2017-01-01T06:28:52.5041237Z"}}

В первых двух строках доступен атрибут Time1 , где, как и в последних двух строках, сам атрибут Time1 отсутствует.

Я должен сохранить данные в базе данных космоса на основе атрибута Time1 во входных данных.

Path in json data >>> input.d.Time1.

Я должен хранить данные, имеющие Time1 , в контейнере cosmosDB и данные, которые нет Time1 в другом контейнере.

Я пробовал с приведенным ниже SAQL.

SELECT [input].ver,
    [input].Data,
    d.*
INTO [cosmosDB01]
FROM [input] PARTITION BY PartitionId
WHERE [input].Data is not null
AND [input].d.Time1 is not null

SELECT [input].ver,
    [input].Data,
    d.*
INTO [cosmosDB01]
FROM [input] PARTITION BY PartitionId
WHERE [input].Data is not null
AND [input].d.Time1 is null

Есть ли другие способы, такие как ключевое слово IS EXISTS в stream analytics запрос?

1 Ответ

0 голосов
/ 09 января 2020

Насколько мне известно, в ASA пока нет встроенного ключевого слова is_exists или is_defined sql. Вы должны следовать тому, как вы упомянули в вопросе, чтобы иметь дело со сценарием с несколькими выходами.

(Аналогичный случай: Azure Stream Analytics Как работать с несколькими выходными таблицами? )

Конечно, вы можете отправить отзыв команде ASA в pu sh the прогресс ASA.

...