Как правильно настроить триггер очереди Azure после обновления до Microsoft.Net.Functions 3.0.3?

Это мой исходный формат триггерной функции очереди хранилища Azure, он используется для работы, однако после того, как я обновил пакет NuGet Microsoft.Net.Functions с 1.0.24 до 3.0.3, изменил развертывание zip на веб-развертывание и сделал публикацию , эта установка перестала работать.

[FunctionName("FunctionEmailQueueTrigger")]
public static async Task Run([QueueTrigger("%emailqueue%")]string myQueueItem, ILogger log)
{
        //....Actions
}```

Итак, я подумал, что формат установки изменился с 1.0.24 на 3.0.3, поэтому я перешел на этот формат: Это мое хранилище обновлений. Настройка триггера очереди, которая также не срабатывает.

public static async Task Run([QueueTrigger("emailqueue", Connection = "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=XXXXXXX;EndpointSuffix=core.windows.net")]string myQueueItem, ILogger log)
{
        //....Actions
}```

Когда я проверяю функцию и нажимаю на нее на лазури, она выдает мне ошибку:

Ошибка: невозможно загрузить один или несколько запрошенных типов. Получите дополнительные сведения о свойстве LoaderExceptions.

он развернут на Azure со стандартным планом, поэтому я предполагаю, что холодного запуска не должно быть, я проверил имя очереди, его соответствие.

Спасибо вам за помощь.


person Wanming Hu    schedule 14.02.2020    source источник


Ответы (1)


На данный момент проблема, которую я могу получить из вашего кода, заключается в вашем Connection, это должно быть имя подключения к вашей учетной записи хранения, а не строка подключения, если в вашей локальной сети это должно быть подключение в local.settings.json, если на лазурном перейдите к Configuration, проверьте свою учетную запись хранения ключ настройки.

И в моей тестовой версии 3 функция по-прежнему могла использовать связать выражение с %%, однако, если вы используете пакет функций 3.0.3, не устанавливайте версию в файле .csproj, как показано в этом документе:Версии среды выполнения Visual Studio, он будет работать без журналов. .

После того, как вы выполните настройку своей функции в документе, у вас все равно возникнет проблема, вы можете попытаться поймать исключение, чтобы получить подробную информацию с помощью этого ответа: Как получить свойство LoaderException? и поделиться своим полным кодом, чтобы я мог его протестировать.

Надеюсь, это поможет вам, если у вас все еще есть другая проблема, пожалуйста, дайте мне знать.

person George Chen    schedule 17.02.2020
comment
Спасибо, что помогли мне с этим, это правильный ответ, я следил за документами, которые вы мне показали, и повторно опубликовал функцию, теперь все работает отлично. - person Wanming Hu; 18.02.2020