Я использую API SQL Azure Cosmos DB. Я написал, что хранимая процедура получит данные и сохранит в ответ API фид.
Не удалось выполнить тест хранимой процедуры Процедура для коллекции iotcollection: {"code": 400, "body": "{\" code \ ": \" BadRequest \ ", \" message \ ": \" Сообщение: {\\ "Ошибки \\ ": [\\" Обнаружено исключение при выполнении функции. Exception = Error: Out of memory \\ r \\ nStack trace: undefined \\ "]} \ r \ nActivityId: c286cbb6-34c1-4929-a148-915544b20ce6, URI-адрес запроса: / apps / 59d3b9ef-17ca-4bbf-8a11-39d0199a8d29 / services / 1b26e00f-1f51-4d34-88ec-4090b8e7db00 / partitions / 45a313b7-2cf2-419e-9885-48bf9cfe62780 / Replicats / 1338930 / Replicats / 13386278 nRequestStartTime: 2018-11-10T05: 46: 36.4852333Z, количество предпринятых регионов: 1 \ r \ n, SDK: Microsoft.Azure.Documents.Common / 2.1.0.0 \ "}", "activityId": "c286cbb6-34c1 -4929-a148-915544b20ce6 "}
Моя хранимая процедура очень проста, и я просто хотел посмотреть, сколько записей я могу получить из Cosmos DB в данный момент и отправить в качестве ответа.
// SAMPLE STORED PROCEDURE
function sample(prefix) {
var collection = getContext().getCollection();
// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
collection.getSelfLink(),
'SELECT r.data FROM root r',
function (err, feed, options) {
if (err) throw err;
// Check the feed and if empty, set the body to 'no docs found',
// else take 1st element from feed
if (!feed || !feed.length) {
var response = getContext().getResponse();
response.setBody('no docs found');
}
else {
var response = getContext().getResponse();
var body = { prefix: prefix, feed: feed[0] };
var str = 'str';
for ( var i =0 ; i < 100 ; i = i +1 ){
str = str + str ;
body .str = feed[0];
}
response.setBody(JSON.stringify(body));
}
});
if (!isAccepted) throw new Error('The query was not accepted by the server.');
}