Конфигурация времени выполнения функций Azure - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь докеризировать функции лазури, используя официальное изображение microsoft/azure-functions-node8. Я не смог найти никакой документации по настройке среды выполнения, и всякий раз, когда я запускаю среду выполнения, возникают следующие ошибки:

      The listener for function 'Functions.health' was unable to start.
Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException: The listener for function 'Functions.health' was unable to start. ---> System.AggregateException: One or more errors occurred. (Microsoft Azure WebJobs SDK 'Storage' connection string is missing or empty. The Microsoft Azure Storage account connection string can be set in the following ways:
1. Set the connection string named 'AzureWebJobsStorage' in the connectionStrings section of the .config file in the following format <add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=http|https;AccountName=NAME;AccountKey=KEY" />, or
2. Set the environment variable named 'AzureWebJobsStorage', or
3. Set corresponding property of JobHostConfiguration.)

Я погуглил несколько кусочков и сумел составить следующий .config файл, но среда выполнения все еще кричит на меня.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
        <add name="AzureWebJobsStorage" connectionString="myconnectionstring"/>
  </connectionStrings>
</configuration>

Документ .config формат файла где-нибудь задокументирован?

1 Ответ

0 голосов
/ 05 июля 2018

Это был старый совет, который напоминал нам, что хранилище по умолчанию AzureWebJobsStorage установлено неправильно, которое было улучшено, чтобы быть более понятным давным-давно. Смотрите этот выпуск и исправление .

Похоже на изображение докера, это исправление как-то опущено.

Чтобы решить вашу проблему, просто установите AzureWebJobsStorage в вашем Dockerfile.

ENV AzureWebJobsStorage=DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx==;EndpointSuffix=core.windows.net

Обратите внимание, что если вы используете имя, отличное от AzureWebJobsStorage, необходимо установить параметр connection, используя имя, в файле function.json.

Обновление

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

...