Как добавить запись в хранилище таблиц Azure из функций Azure с привязкой? - PullRequest
0 голосов
/ 10 ноября 2018

Я использую их и запускаю функции Azure в локальной среде.

Основные инструменты функций Azure (2.0.3)

Функция Runtime Версия: 2.0.12115.0

azurite@2.7.0

Я пытаюсь, как сказано в документе Microsoft. Вот функции. Json

{
  "bindings": [
    {
      "name": "input",
      "type": "httpTrigger",
      "direction": "in"
    },
    {
      "tableName": "Person",
      "connection": "MyStorageConnectionAppSetting",
      "name": "tableBinding",
      "type": "table",
      "direction": "out"
    }
  ],
  "disabled": false
}

Вот local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MyStorageConnectionAppSetting": "UseDevelopmentStorage=true"
  }
}

Вот index.js

module.exports = function (context) {

    context.bindings.tableBinding = [];

    for (var i = 1; i < 10; i++) {
        context.bindings.tableBinding.push({
            PartitionKey: "Test",
            RowKey: i.toString(),
            Name: "Name " + i
        });
    }

    context.done();
};

Установленные расширения с этим.

$ func extensions install -p Microsoft.Azure.WebJobs.Extensions.Storage --version 3.0.0

Запустите функции из терминала Mac, отправьте http-запрос, я получил эту ошибку.

System.Private.CoreLib: исключение при выполнении функции: Functions.test. Microsoft.Azure.WebJobs.Host: ошибка при обработке Параметр _binder после возврата функции :. Microsoft.Azure.WebJobs.Extensions.Storage: не реализовано (HTTP код состояния 501:. ). Microsoft.WindowsAzure.Storage: не реализовано.

Ошибка из табличного хранилища

POST / devstoreaccount1 / $ партия 501 0,980 мс - 45

Любая помощь?

1 Ответ

0 голосов
/ 12 ноября 2018

UseDevelopmentStorage=true представляет функцию, установленную на использование Эмулятор хранилища , который обеспечивает локальную среду, эмулирующую службы BLOB-объектов, очереди и таблицы хранилища Azure для целей разработки. Но, к сожалению, он доступен только в ОС Windows, поэтому вы получили Not Implemented на Mac.

Обходной путь - использовать реальную учетную запись хранения, следуйте инструкции , чтобы получить строку подключения. Если у вас нет учетной записи хранения, возможно, вам придется сначала создать одну .

Еще одно предложение - установить последние основные инструменты Azure Functions, сейчас это 2.1.725.

...