Как запустить код C ++ с сеткой событий в Azure?

Я пытаюсь загрузить большой двоичный объект в хранилище Azure, и он успешно загружается. Теперь следующий шаг - обработать большой двоичный объект с помощью кода C ++. Поскольку функция Azure не поддерживает C ++, как я могу обработать большой двоичный объект?


person Yatin Gaikwad    schedule 03.06.2019    source источник
comment
вам нужно сначала создать свои двоичные файлы и убедиться, что вы можете запускать их из кода .net / python / javascript. как только вы сможете это сделать, теперь вы можете загружать эти двоичные файлы вместе, куда бы вы ни опубликовали свою лазурную функцию.   -  person Alex Gordon    schedule 03.06.2019


Ответы (2)


Функция Azure поддерживает запуск .exe исполняемого файла. Поэтому я предлагаю создать исполняемый файл вашей программы cpp, затем загрузить его в функцию Azure и запустить приведенный ниже пример кода.

введите здесь описание изображения

using System;

public static void Run(TimerInfo myTimer, TraceWriter log)
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    process.StartInfo.FileName = @"D:\home\site\wwwroot\TimerTriggerCSharp1\testfunc.exe";
    process.StartInfo.Arguments = "";
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardOutput = true;
    process.StartInfo.RedirectStandardError = true;
    process.Start();
    string output = process.StandardOutput.ReadToEnd();
    string err = process.StandardError.ReadToEnd();
    process.WaitForExit();

    log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
}
person George Chen    schedule 04.06.2019

К настоящему времени в функциях Azure, как сказано в комментарии, есть .NET, Python, Node.js, поддержка Java, без C ++.

Однако, если вы работаете в Linux, вы можете рассмотреть возможность вызова C ++ в Python или Node.js, например, следуя документам для Python с помощью _ 1_ или для Node.js с _2 _ . Я думаю, что вам проще использовать сетку событий с функцией Azure.

И есть существующая ветка SO о вызове C / C ++ из Python?, на которую вы можете сослаться. .

Или же для работы в Windows другое решение - скомпилировать ваш код C ++ в динамическую библиотеку в Visual Studio, а затем вы можете вызвать библиотеку dll на C ++ из кода C #. См. Документ MSDN _ 3_, чтобы узнать об этом, или обратитесь к потоку SO Можно ли вызвать код C ++ из C #?.

Надеюсь, это поможет.

person Peter Pan    schedule 04.06.2019