а) Могу ли я выполнять другие операции, которые занимают более 5 секунд? Например, какая-нибудь постобработка запрашиваемых данных, а затем возвращение пользователю позже?
Я думаю, что ограничение 5s пока не может быть нарушено. Как @Mark упомянул в комментарии, так и следуйте моему предыдущему случаю : Удаление документов из Cosmos с использованием запроса без указания ключа раздела процедуры лучше всего подходят для операций, которые требуют много записи, не читают или не удаляют тяжелое, даже долгое время выполнения API.
б) Я плачу RU только за фактические операции с базой данных в рамках хранимой процедуры или также за какое-то «JavaScript время выполнения»?
На основе базы данных Cosmos DB страница цены , стоимость зависит только от емкости хранилища и пропускной способности. Фактически все операции основаны на REST API, даже для JS функций сервера. Итак, я думаю, вам не нужно платить больше за JS время выполнения.
Обновление Ответ:
Если я не ошибаюсь здесь, вы получаете доступ к базе данных космоса для один запрос в SP, а затем делать больше рабочих нагрузок, которые не имеют ничего с космосом дБ. Вам просто интересно, стоит ли вам этот сценарий дороже, иными словами, вы можете использовать большую часть ресурсов, выделенных вам SP.
Согласно моему исследованию, никакой специальной политики выставления счетов для SP. Так что все определяется RU. Для вашего сценария, возможно, вы могли бы рассчитать RU SP с пользовательским кодом или без него, чтобы сравнить их.
StoredProcedureResponse response = documentClient.executeStoredProcedure(collectionLink + "/sprocs/test", requestOptions, null);
System.out.println(response.getRequestCharge());