Есть функция, работающая локально, активируемая при удалении файла и теперь развертывающаяся в Azure.
Сигнатура функции выглядит следующим образом. Обратите внимание на обязательное выражение.
Это выражение пытается получить значение из настроек приложения под названием «MyFolderPath»
Локально это работает так, как ожидалось. Путь: имя_контейнера/папки
Этот параметр доступен в Azure в разделе «Переменные среды».
Однако когда я помещаю новый файл по этому пути, функция не запускается и не вызывается.
Что я могу проверить?
public async Task Run([BlobTrigger("%MyFolderPath%/{name}",Connection = "FuncStorage", Stream stream, string name)
Первоначально у меня возникла та же проблема. но после добавления строки подключения к хранилищу в переменных среды приложения-функции работает как положено.
Я создал функцию триггера больших двоичных объектов со стеком времени выполнения .NET 8.0. Функция сработала, когда я загрузил капли в контейнер.
Код функции:
public class Function1
{
private readonly ILogger<Function1> _logger;
public Function1(ILogger<Function1> logger)
{
_logger = logger;
}
[Function(nameof(Function1))]
public async Task Run([BlobTrigger("hello32/{name}", Connection = "Connection23")] Stream stream, string name)
{
using var blobStreamReader = new StreamReader(stream);
var content = await blobStreamReader.ReadToEndAsync();
_logger.LogInformation($"C# Blob trigger function Processed blob\n Name: {name} \n Data: {content}");
}
}
локальные.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"Connection23": "your-storage conn-string"
}
}
Я успешно опубликовал функцию на портале Azure. проверьте ниже:
Когда я загрузил капли в контейнер, функция также сработала на портале. проверьте следующие следы:
Ниже загружены BLOB-объекты в контейнере для хранения.
Спасибо. Я думал, что проверил локальные настройки и развернутые настройки/переменные среды, но, конечно же, разница была. После исправления все начало работать так, как ожидалось.