Версия Azure Function Runtime: 2.0.11888.0 (бета) не может подключиться к cosmosDB - PullRequest
0 голосов
/ 27 июня 2018

Я разрабатываю простой код node.js для вставки нового документа в cosmosDB через приложение-функцию Azure с помощью функции триггера http. Это просто получить входное значение из параметра http и вывести его на cosmosDB (SQL API). Последние 2 недели он успешно работал, но теперь столкнулся с внутренней ошибкой сервера. Вот почему? Влияет ли это на обновление младшей версии функции Azure во время выполнения?

-> function.json

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req"
    },
    {
      "name": "outputDocument",
      "type": "cosmosDB",
      "databaseName": "ToDoList",
      "collectionName": "Items",
      "createIfNotExists": true,
      "connectionStringSetting": "COSMOSDB_CONNECTION",
      "direction": "out"
    }
  ]
}

-> index.js

module.exports = function (context, req) {

    context.bindings.outputDocument = JSON.stringify({ 
        name: req.query.name
    });

    context.done();
};

-> ошибка просмотра INTERNAL SERVER ERROR

1 Ответ

0 голосов
/ 27 июня 2018

Вы правы, обновление времени выполнения функции (начинающееся с 2.0.11857) имеет критическое изменение для функций JavaScript. Смотрите этот комментарий к проблеме .

Мы устарели в поддержке Node v6, что может повлиять на развернутые приложения-функции. Измените WEBSITE_NODE_DEFAULT_VERSION в настройках приложения на версию 8.x>> = 8.4.0 (например, 8.11.1).

Провел несколько тестов, это вызывает внутреннюю ошибку сервера, если я оставлю WEBSITE_NODE_DEFAULT_VERSION как 6.5.0.

До выпуска 2.0.11857, WEBSITE_NODE_DEFAULT_VERSION равен 6.5.0 в функциях v1 и v2. После этого при обновлении времени выполнения функции с ~ 1 до бета-версии WEBSITE_NODE_DEFAULT_VERSION автоматически изменится на 8.11.1.

Обновление

Изменение версии узла не работает для вас, возможно, это происходит из-за нарушения расширения cosmosdb. Вы можете попробовать, пока я не могу воспроизвести вашу проблему на моей стороне.

Действия по переустановке расширения:

  1. Остановите ваше функциональное приложение.
  2. Посетите https://<functionappname>.scm.azurewebsites.net/DebugConsole и перейдите к D:\home\site\wwwroot.
  3. Удалить папку bin и extension.csproj.
  4. Вернитесь к порталу функций и создайте триггер cosmosdb для повторной установки расширения.
  5. Запустите ваше функциональное приложение для проверки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...