Функция Azure blobTrigger не зарегистрирована - PullRequest
0 голосов
/ 02 июля 2019

В качестве заголовка при попытке запустить функцию azure на основе nodejs я сталкиваюсь со следующей ошибкой:

The following 1 functions are in error: [7/2/19 1:41:17 AM] ***: The binding type(s) 'blobTrigger' are not registered. Please ensure the type is correct and the binding extension is installed.

Я пытался func extensions install --force, но безуспешно, есть идеи? Моя среда разработки - macOS, и я попробовал обе установки на основе nodejs azure-functions-core-tools, и brew based установка не работает.

Самая страшная часть - это то, что она нормально работала на той же машине, внезапно она просто не работала.

1 Ответ

0 голосов
/ 02 июля 2019

По сути, вы можете обратиться к официальному учебнику для Linux Create your first function hosted on Linux using Core Tools and the Azure CLI (preview), чтобы начать работу.

Из-за той же оболочки bash, используемой в MacOS и Linux, язапустит мой пример демо для вас в Linux и избегу использования этих несовместимых операций.Прежде всего, предполагается, что в вашей среде есть работающая среда выполнения NodeJS.Версия узла и npm: v10.16.0 и 6.9.0.

  1. Чтобы установить azure-functions-core-tools через npm и проверить его, как показано на рисунке ниже.

    enter image description here

  2. Далее, чтобы начать проект MyFunctionProj через func

    enter image description here

  3. Затем новая функция с триггером BLOB-объектов

    enter image description here

    Существует проблема с требованием для .NETОсновной SDK.Поэтому я перехожу на https://www.microsoft.com/net/download, чтобы установить его, это несовместимо с MacOS, но я думаю, что вы можете легко это исправить самостоятельно.Поэтому я следовал официальной инструкции по установке, чтобы установить его.

    enter image description here

  4. После установки .NET Core SDK попробуйте func newснова.

    enter image description here

    И завершено так.

    enter image description here

  5. Чтобы изменить два файла конфигурации MyFunctionProj/local.settings.json и MyFunctionProj/MyBlobTrigger/function.json, как показано ниже.

    MyFunctionProj / local.settings.json

    {
      "IsEncrypted": false,
      "Values": {
        "FUNCTIONS_WORKER_RUNTIME": "node",
        "AzureWebJobsStorage": "<your real storage connection string like `DefaultEndpointsProtocol=https;AccountName=<your account name>;AccountKey=<your account key>;EndpointSuffix=core.windows.net`"
      }
    }
    

    MyFunctionProj / MyBlobTrigger / function.json

    {
      "bindings": [
        {
          "name": "myBlob",
          "type": "blobTrigger",
          "direction": "in",
          "path": "<the container name you want to monitor>/{name}",                                                                                                  
          "connection": "AzureWebJobsStorage"
        }
      ]
    }
    
  6. Затем введите команду func host start --build, чтобы запустить ее без ошибок.

    enter image description here

    Давайте загрузим тестовый файл с именем test.txt через обозреватель хранилищ Azure в контейнер <the container name you want to monitor>, который будет настроен в файле function.json.И вы увидите, что MyBlobTrigger был запущен и работает нормально.

    enter image description here

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...