Azure Data Factory REST, как управлять разбиением на страницы в качестве параметра URL GET, получающего идентификатор разбиения на страницы из результата предыдущего вызова - PullRequest
0 голосов
/ 07 мая 2019

У меня есть источник данных в фабрике данных Azure, вызывающий REST API

В моей последней рабочей конфигурации (созданной с помощью пользовательского интерфейса) без пагинации используются параметры набора данных для построения относительного URL-адреса, который переводится в источник как:

"typeProperties": {
  "relativeUrl": {
    "value": "@concat('theRoute?cursor=',dataset().cursor,'&nb=100&q=aDateParameter:[',dataset().startDate, ' TO ', dataset().endDate, ']')",
    "type": "Expression"
  },
  "requestMethod": "GET",
}

(при значении параметра набора данных «курсор» по умолчанию используется значение «*» для инициализации нумерации страниц)

Затем в каждом ответе мне нужно получить # .header.nextCursor дляполучите id nextCursor (# является корнем json ответа), и, прежде чем кто-либо спросит, да, действительно, в теле json действительно есть вложенный документ с именем "header", nextCursor отсутствует в заголовках http.

Поэтому мне придется заменить в моем относительном URL-адресе значение параметра «курсора» на идентификатор в # .header.cursor.Но я не могу создать правила нумерации страниц.(Даже если в документе явно указан сценарий «Параметр запроса следующего запроса = значение свойства в текущем теле ответа».)

  • Создание нового относительного URL в правилах разбиения на страницы не удается, поскольку я, очевидно, могуНе используйте синтаксис # .header.json в построителе выражений.

  • Синтаксис QueryParameters, который я обнаружил в Документ doc не работает.Я не понимаю док.Я пробовал 3 разных способа: 1) "QueryParameters.cursor": "#.header.nextCursor 2) QueryParameters['cursor']: "#.header.nextCursor и 3) (что более логично для меня) "QueryParameters": {"cursor": "#.header.nextCursor"} Но ни один из них не сработал.

Также мне интересноесли бы он просто ввел это, чтобы заменить фактический параметр курсора в моем предыдущем относительном URL ... Или если бы мне пришлось каким-то образом найти другой способ, чем мое выражение concat, чтобы передать мои параметры URL для исходного относительного URL (я не могу найти какой-либодокументация о том, как в конечном итоге использовать этот синтаксис QueryParameter вне правил нумерации страниц, а также любой документ или пример для синтаксиса динамического построения тела данных POST)

1 Ответ

1 голос
/ 14 мая 2019

Если мое понимание верно, относительный URL-адрес для каждой страницы выглядит как 'theRoute? Cursor = {курсор} & nb = 100 & q = aDateParameter: [{startDate} TO {endDate}]'.

{курсор} взят из тела ответа JSON, $ .header.nextCursor.

Извините, что сегодняшнее правило нумерации страниц не поддерживает подобные выражения, и мы знаем, что такое запрос клиента. Мы рассмотрим его, чтобы увидеть, как поддержать его в будущем.

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