В Azure я разработал функцию (служба приложений), которая запускается, когда новые CSV-файлы помещаются в определенную учетную запись хранения.Эта функция была разработана в Azure и без проблем работает каждый раз при загрузке нового CSV-файла.Однако, имея в виду CI / CD, я решил перенести процесс разработки с Azure на Visual Studio (2017).
Код выполняется без проблем локально, но как только я опубликую код в Azure (через VSTS), начинается проблема.Похоже, что триггер не активируется при загрузке новых CSV-файлов в учетную запись хранения.Кстати, функция сработала, но я не смог точно определить, почему это так, или воссоздать ее.
Чтобы сделать проблему более понятной, я сократил свой код до всего лишь Blobtrigger и некоторой регистрации.Также я удалил сборку в VSTS и напрямую опубликовал свою сборку через Visual Studio 2017, но с похожими результатами.Код работает локально, но после публикации функция не срабатывает (или делает это очень случайно).
Я использовал код:
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
namespace TestApp
{
public static class Function1
{
[FunctionName("Function1")]
public static void Run([BlobTrigger("csv-files-in/{name}.csv", Connection = "AzureWebJobsStorage")]Stream myBlob, string name, TraceWriter log)
{
log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}
}
}
«AzureWebJobsStorage» относится кlocal.settings.json, где определена конечная точка Blobstorage.Этот параметр автоматически развертывается в Azure, но даже если я установлю это соединение вручную, функция не сработает.После многих попыток решить это самостоятельно я решил обратиться к умным людям на этом сайте за советом.Это ошибка или я что-то упустил?Что я могу сделать, чтобы моя функция (надежно) сработала после публикации этого в Azure?Заранее спасибо.