Пакетные запросы с современным клиентом Google API Node.js

Недавно я пытался реорганизовать некоторый код, использующий преимущества функции глобальных пакетных запросов для API Google, которые недавно были устарело. В настоящее время мы используем пакет npm google-batch, но поскольку он опасно редактирует файловую систему и использует устаревшая глобальная конечная точка, я хотел бы отойти от нее до того, как конечная точка будет полностью удалена.

Как я могу создать пакетный запрос, используя (в идеале) только клиент Node.js? Я хочу максимально использовать методы, уже присутствующие в клиенте, поскольку он изначально обеспечивает поддержку Promise и TypeScript, которую я намерен использовать.

Я просмотрел пакет Batchelor, предложенный в этот ответ, но он требует, чтобы вы вручную написали объект HTTP-запроса вместо использования клиента Node.js.


person Nick Clifford    schedule 28.08.2019    source источник


Ответы (1)


В этом выпуске Github обсуждается использование пакетных запросов в новом клиенте узла.< /а>

Согласно этому потоку, новый предполагаемый метод пакетной обработки (за исключением плохо перечисленных конечных точек, которые его поддерживают) состоит в том, чтобы использовать функцию HTTP/2, поставляемую с клиентом, а затем просто делать ваши запросы все сразу. кажется.

Причина, по которой пакетная обработка заключена в кавычки, заключается в том, что я не верю, что это объяснение соответствует моему определению пакетной обработки: клиент не ставит запросы в очередь для выполнения, а вместо этого лучше управляет сетевым трафиком, когда вы выполняете их самостоятельно.

Я не уверен, правильно ли я понимаю, но эта функция HTTP/2 на самом деле не выполняет пакетные запросы и требует, чтобы вы сами ставили в очередь, а вместо этого убирали некоторые накладные расходы TCP. Короче говоря, я не верю, что пакетная обработка возможна только с помощью клиента API.

(FWIW, я бы предпочел прокомментировать со ссылкой, так как я не уверен, что объяснил это хорошо, но репутация не позволила мне)

person Nick Misner    schedule 21.12.2020