Azure 上的 R 服务器
R Server on Azure
我需要将 R 代码作为 web 服务执行,所以我尝试了 MLS,它工作正常。
问题是包太旧了,我需要旧包上没有实现的功能。
我问过微软支持,他们没有数据升级,新的包需要升级。
我如何使用其他资源(例如 webapi 而不是 MLS)来做到这一点?
我找到的所有解决方案都需要在机器上安装 R,这是创建 azure webapp、函数或 api 的问题。
我需要一个用于按需预测的端点。
我找到了一种在 Azure 函数上执行 R 的方法。
解决方案是复制 R-Portable in
https://sourceforge.net/projects/rportable/
使用 powershell 解压缩它并在函数代码上创建一个进程。在我的例子中,我使用了代码:
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WorkingDirectory = @"D:\home\site\tools\R-Portable\App\R-Portable\bin\";
process.StartInfo.FileName = @"D:\home\site\tools\R-Portable\App\R-Portable\bin\Rscript.exe";
process.StartInfo.Arguments = "-e \"print('Hello world')\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
string outputt = process.StandardOutput.ReadToEnd();
string err = process.StandardError.ReadToEnd();
process.WaitForExit();
在您的脚本上,您可以访问 csv 文件或写入,然后在函数读取和 return 该文件后。
我需要将 R 代码作为 web 服务执行,所以我尝试了 MLS,它工作正常。 问题是包太旧了,我需要旧包上没有实现的功能。 我问过微软支持,他们没有数据升级,新的包需要升级。
我如何使用其他资源(例如 webapi 而不是 MLS)来做到这一点? 我找到的所有解决方案都需要在机器上安装 R,这是创建 azure webapp、函数或 api 的问题。 我需要一个用于按需预测的端点。
我找到了一种在 Azure 函数上执行 R 的方法。 解决方案是复制 R-Portable in https://sourceforge.net/projects/rportable/ 使用 powershell 解压缩它并在函数代码上创建一个进程。在我的例子中,我使用了代码:
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WorkingDirectory = @"D:\home\site\tools\R-Portable\App\R-Portable\bin\";
process.StartInfo.FileName = @"D:\home\site\tools\R-Portable\App\R-Portable\bin\Rscript.exe";
process.StartInfo.Arguments = "-e \"print('Hello world')\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
string outputt = process.StandardOutput.ReadToEnd();
string err = process.StandardError.ReadToEnd();
process.WaitForExit();
在您的脚本上,您可以访问 csv 文件或写入,然后在函数读取和 return 该文件后。