У нас есть функция Azure, которая должна запускаться, как только файл будет вставлен в один из наших Azure хранилищ больших двоичных объектов. Мы видим, что на самом деле требуется от 1 до 10 минут для запуска после появления файла в BLOB-хранилище. Мы не можем подтвердить это точно, но похоже, что он опрашивает большой объем хранилища каждые 10 минут в поисках изменений, а не запускается сразу после вставки.
Вот код для триггера; order-requests
BLOB-объект - это тот, куда вставляется файл:
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Microsoft.WindowsAzure.Storage.Blob;
namespace Integration
{
public static class IntegrationFunction
{
[FunctionName("AbcIntegration")]
public static async Task Run(
[BlobTrigger("order-requests/{name}", Connection = "BlobStorageConString")] CloudBlockBlob blob,
[Blob("order-responses/{name}")] CloudBlockBlob outputBlob,
ILogger log)
{
var result = await new IntegrationService().IntegrateTask(blob, outputBlob);
log.LogInformation(result);
}
}
}
Как мы можем гарантировать, что функция будет запущена, как только файл попадет в BLOB-объект?