Пример функции Javascript blobtrigger аварийно завершается с StorageException - PullRequest
0 голосов
/ 23 апреля 2019

Новый javascript FunctionApp с функцией blobtriggered вылетает с ошибкой 500:

Описание: процесс был прерван из-за необработанного исключения. Информация об исключении: Microsoft.WindowsAzure.Storage.StorageException: указанное имя ресурса содержит недопустимые символы. в Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal [T] (RESTCommand`1 cmd, политика IRetryPolicy, OperationContext operationContext, токен CancellationToken) в Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueListener.ExecuteAsync (CancellationToken cancellationToken) в C: \ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.Extensions.Stoers QueueListener.cs: строка 155 в Microsoft.Azure.WebJobs.Host.Timers.TaskSeriesTimer.RunAsync (CancellationToken cancellationToken) в C: \ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.Host \ Timers \ TaskSeriesT7rs: в Microsoft.Azure.WebJobs.Host.Timers.WebJobsExceptionHandler. <> c__DisplayClass3_0. b__0 () в C: \ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.HostExo \ Time \ Time .cs: ​​строка 54 в System.Threading.Thread.ThreadMain_ThreadStart () в System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта) в System.Threading.ExecutionContext.RunInternal (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта) --- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Threading.ExecutionContext.RunInternal (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта) в System.Threading.ThreadHelper.ThreadStart ()

Шаги: я создал новое приложение FunctionApp с:

  • в JavaScript
  • на плане обслуживания Windows
  • новое хранилище / группа ресурсов

Затем я перешел к FunctionApp и создал новую функцию:

  • от портала
  • с шаблоном «Триггер хранилища BLOB-объектов Azure» (я установил расширение хранилища)
  • путь хранения по умолчанию, имена переменных и т. Д.

Затем я создал контейнер «samples-workitems» в хранилище и поместил в него файл, чтобы вызвать функцию и получить сообщение об ошибке из журналов функций.

Я также попытался «протестировать» функцию на правой панели портала со значением samples-workitems / {файл, который я скопировал}, и я получил ошибку 500 и предыдущее сообщение.

Что-то странное, что я заметил, вернувшись к функциональному приложению на веб-портале:

enter image description here Кажется, что расширение хранилища Azure установлено правильно, но если я пытаюсь добавить новую функцию, запускаемую BLOB-объектами, он снова просит меня установить расширение хранилища ... Поэтому я полагаю, что никогда не удастся установить расширение и не сможет это сделать.

РЕДАКТИРОВАТЬ: Оказывается, Azure теперь подтверждает, что расширение установлено, но у меня все еще есть исключение StorageException

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Вы можете переустановить нужные расширения. Вы можете обратиться к этой вики: Обновите свое приложение с портала .

Отредактируйте файл extensions.csproj, внесите необходимые дополнения и обновления в элементы PackageReference в ItemGroup, затем выберите Сохранить. О поддерживаемых версиях пакетов можно узнать в Какие пакеты NuGet мне нужны? .

Затем в папке wwwroot запустите приведенную ниже команду для построения ссылочных сборок.

dotnet build extensions.csproj -o bin --no-incremental --packages D:\home\.nuget
0 голосов
/ 23 апреля 2019

Вы можете проверить, успешно ли установлено расширение, из Kudu .Откройте DebugConsole -> Перейдите в D: \ home \ site \ wwwroot \ bin.Microsoft.Azure.WebJobs.Extensions.Storage.dll.Если dll хранилища отсутствует, установка расширения не удалась.

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