Получить последнее значение метки времени в фабрике данных Azure с источником Cosmos - PullRequest
0 голосов
/ 06 ноября 2018

В моем конвейере есть 2 действия для этого теста. Операция поиска и хранимая процедура, которая просто принимает выходные данные поиска и затем использует его в качестве параметра для выполнения.

Я хочу получить максимальное значение поля _ts (Comos DB Unix Timestamp) в запросе, который я пишу.

enter image description here

Это мой запрос на источник:

select max(c._ts) AS UnixTimestamp  from c 
where udf.convertTime(c._ts) >= '@{formatDateTime(addhours(pipeline().TriggerTime, -1), 'yyyy-MM-ddTHH:mm:ssZ' )}' 
AND udf.convertTime(c._ts) < '@{formatDateTime(pipeline().TriggerTime, 'yyyy-MM-ddTHH:mm:ssZ' )}'

Когда я отлаживаю это переведенный ввод:

{
    "source": {
        "type": "DocumentDbCollectionSource",
        "query": "select max(c._ts) AS UnixTimestamp  from c \nwhere udf.convertTime(c._ts) >= '2018-11-06T18:19:56Z' \nAND udf.convertTime(c._ts) < '2018-11-06T19:19:56Z'",
        "nestingSeparator": "."
    },
    "dataset": {
        "referenceName": "SourceComosDB",
        "type": "DatasetReference",
        "parameters": {}
    },
    "firstRowOnly": false
}

Выходные данные поисковой активности получаются:

{
    "count": 18,
    "value": [
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {}
    ],
    "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (East US 2)"
}

и, следовательно, хранимая процедура не выполняется.

Как я могу получить максимальное значение _ts в запросе?

1 Ответ

0 голосов
/ 07 ноября 2018

Я проверил ваш код и не воспроизвел вашу проблему.

мой пример кода:

enter image description here

вывод активности поиска с вашим SQL:

enter image description here

вывод активности поиска с вашим SQL:

enter image description here

Во-первых, он не может вывести 18 значений, если вы использовали запрос MAX, который должен быть только одним значением.

Другое дело, вы должны выполнить SQK в редакторе запросов cosmos db, чтобы посмотреть, соответствуют ли какие-либо результаты фильтру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...