Data Factory V2 Query Azure Table Storage, но используется значение поиска - PullRequest
0 голосов
/ 08 марта 2019

У меня есть таблица водяных знаков SQL, которая содержит последнюю дату в моей целевой таблице

Мои исходные данные поступают из таблицы хранения Azure, а дата и время представляют собой строку

Я настроилдата и время в таблице водяных знаков для соответствия формату в хранилище таблиц Azure

Я создаю поиск и задачу копирования введите описание изображения здесь

Если я ввожу жесткий коддата в запросе исходного кода и запуска это работает отлично CreatedAt ge '2019-03-06T14: 03: 11.000Z'

Но, очевидно, я не хочу жестко кодировать это значение.Я хочу использовать дату из поиска

Но когда я заменяю жестко запрограммированную дату значением поиска

CreatedAt ge 'activity (' LookupWatermarkOld '). Output'

Я получаю сообщение об ошибке

{"errorCode": "2200", "message": "ErrorCode = FailedStorageOperation, 'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message = Сбой операции хранения со следующимиerror 'Удаленный сервер возвратил ошибку: (400) Bad Request.'., Source =, '' Type = Microsoft.WindowsAzure.Storage.StorageException, Message = Удаленный сервер возвратил ошибку: (400) Bad Request., Source= Microsoft.WindowsAzure.Storage, StorageExtendedMessage = Синтаксическая ошибка в позиции 42 в операции 'CreatedAt ge' ('LookupWatermarkOld'). Output ''. \ NRequestId: 8c65ced9-b002-0051-79d9-d41d49000000 \ nВремя: 2019-03-07T11: 35: 39.0640233Z ,, '' Type = System.Net.WebException, Message = Удаленный сервер возвратил ошибку: (400) Bad Request., Source = Microsoft.WindowsAzure.Storage, '"," failType ":" UserError"," targett ":" CopyMentions "}

Может кто-нибудь помочь мне с этим?Как использовать значение «Уточняющий запрос» в запросе таблицы Azure?

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Наконец-то я получил некоторую помощь по этому вопросу, и он работает с

CreatedAt gt '@ {activity (' LookupWatermarkOld '). Output.firstRow.WaterMarkValue}'

WaterarkValue - это столбецимя из таблицы SQL Lookup

Lookup создает массив, поэтому вы должны указать FirstRow из этого массива

и заключить в '', чтобы оно использовалось в качестве строкового значения

0 голосов
/ 08 марта 2019

проверить это:

1) Поиск активности.Поле запроса:

ВЫБЕРИТЕ МАКС. (WatermarkColumnName) как LastId FROM TableName;

Кроме того, убедитесь, что вы отметили опцию «Только первый ряд».

2) В операции копирования данных используйте запрос.Поле запроса:

@ concat ('SELECT * FROM TableName как s, ГДЕ s.WatermarkColumnName>' '', активность ('LookupActivity'). Output.firstRow.LastID, '' '')

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