Я пытаюсь загрузить большой двоичный объект в хранилище Azure, и он успешно загружается. Теперь следующий шаг - обработать большой двоичный объект с помощью кода C ++. Поскольку функция Azure не поддерживает C ++, как я могу обработать большой двоичный объект?
Как запустить код C ++ с сеткой событий в Azure?
Ответы (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}");
}
К настоящему времени в функциях 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 #?.
Надеюсь, это поможет.