Что произойдет, если я сохраню бесконечность в хранимой процедуре? - PullRequest
1 голос
/ 05 апреля 2020

Через 5 с Azure Cosmos DB больше не позволяет выполнять какие-либо операции с базой данных внутри хранимой процедуры.

Два вопроса:

a) Могу ли я выполнять другие операции? что займет больше 5 с? Например, некоторая постобработка запрашиваемых данных, а затем возвращение пользователю позже?

b) Я плачу RU только за фактические операции с базой данных в хранимой процедуре или также за какое-то "JavaScript время выполнения а также?

1 Ответ

0 голосов
/ 12 апреля 2020

а) Могу ли я выполнять другие операции, которые занимают более 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());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...