TL; DR: я переполняю строковый параметр JSON длиной более 500 тыс. Символов.
Я использую решение на основе Azure для:
- В приложениях логики,просмотрите список списков SharePoint, хранящихся на более чем 200 дочерних сайтах SharePoint.
- Отправьте HTTP-запрос в SharePoint API и загрузите каждый список в виде JSON.
- Вызовите хранимую процедуру в базе данных SQL, которая преобразует и загружаетданные в базу данных.
После некоторых проблем с шагом 3, а именно из-за проблем с тайм-аутом соединения между приложениями логики, я добавил шаг:
2.5: вызовАвтоматизация Runbook, которая вызывает хранимую процедуру без истечения времени ожидания.Это основано на этом решении .По сути, это сценарий PowerShell, который создает соединение ADO.NET с базой данных SQL Azure, а затем выполняет хранимую процедуру, а параметры SP, в свою очередь, запрашиваются в качестве параметров в приложениях логики.Например:
Но с несколькими списками я получаю сообщение об ошибке, указывающее, что я перебрал ограничение на количество символов в строке PowerShellпеременная:
{
"code": "BadRequest",
"message": "{\"Message\":\"The request is invalid.\",\"ModelState\":{\"job.properties.parameters\":[\"Job parameter values too long. Max allowed length:524288. Parameter names: Json\"]}}"
}
Вот суть этого: «Значения параметров задания слишком длинные. Максимально допустимая длина: 524288. Имена параметров: Json».Этот параметр объявлен в Power Shell следующим образом:
[parameter(Mandatory=$True)]
[string] $Json,
Есть ли другой тип данных, который я мог бы объявить для этого, который не попадал бы в это ограничение?