Как мне получить сообщение о событии от Azure Functions для получения содержимого в WebApp? - PullRequest
0 голосов
/ 10 июля 2020

Я использую этот BlobTrigger в c#, чтобы увидеть, есть ли изменения в большом двоичном объекте. Звучит как находка, но как я могу отправить это сообщение из Azure функции BlobTrigger в мое веб-приложение? Например, я хочу отобразить «Имя» большого двоичного объекта, который был обнаружен функцией Azure на сайте html (который является WebApp) для конечных пользователей. Я искал, но не нашел хорошего ответа. На данный момент я могу выводить сообщение только на консоль, но не отправляю его ни в какие точки WebEndpoints. Было бы здорово, если бы кто-нибудь поделился своим опытом.

    [FunctionName("BlobTriggerCSharp")]        
public static void Run([BlobTrigger("samples-workitems/{name}")] Stream myBlob, string name, ILogger log)
{
    log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}

1 Ответ

0 голосов
/ 13 июля 2020

У меня есть две идеи, возможно, вы почерпнете из них какое-то вдохновение.

1. Если ваше веб-приложение имеет интерфейс для получения имени, вы можете вызвать его напрямую, используя HttpClient. Ниже приведен пример кода с использованием HttpClient:

        using (var client = new HttpClient())
        {
            Dictionary<string, string> dictionary = new Dictionary<string, string>();
            dictionary.Add("name", "VALUE1");
            string json = JsonConvert.SerializeObject(dictionary);
            var requestData = new StringContent(json, Encoding.UTF8, "application/json");

            var response = await client.PostAsync(String.Format("url"), requestData);
            var result = await response.Content.ReadAsStringAsync();
        }

2. Если ваше веб-приложение не имеет интерфейса, вы можете сохранить полученное имя в своей базе данных, используя insert в вашей функции, и ваше веб-приложение может регулярно запрашивать базу данных для получения последнего значения.

...