【问题标题】:Powershell errors in azure functions when running R scripts运行 R 脚本时 Azure 函数中的 Powershell 错误
【发布时间】:2018-06-11 15:46:59
【问题描述】:

我目前正在将 R 微服务部署到 azure 函数,但我遇到了一些问题。 我从 azure 站点扩展安装了 R 可执行文件,我正在使用 PowerShell 使用这个 R 可执行文件运行我的 R 脚本。

脚本完全运行,但我得到了一些奇怪的错误,这些错误似乎不是来自我的 R 脚本,而是特定的 PowerShell 错误。 这是我得到的日志:

2018-06-11T15:37:14.373 [Info] PowerShell Timer trigger function executed at:06/11/2018 15:37:14

2018-06-11T15:37:17.924 [Info] [1] "Retrieving data"

2018-06-11T15:37:18.158 [Error] D:\home\R-3.3.3\bin\x64\Rscript.exe : Loading required package: methods

at run.ps1: line 4

+ D:\home\R-3.3.3\bin\x64\Rscript.exe

+ ___________________________________

    + CategoryInfo          : NotSpecified: (Loading required package: methods:String) [], RemoteException

    + FullyQualifiedErrorId : NativeCommandError


at run.ps1: line 4

+ D:\home\R-3.3.3\bin\x64\Rscript.exe

+ ___________________________________

    + CategoryInfo          : NotSpecified: (:) [], RemoteException

    + FullyQualifiedErrorId : NativeCommandErrorMessage


at run.ps1: line 4

+ D:\home\R-3.3.3\bin\x64\Rscript.exe

+ ___________________________________

    + CategoryInfo          : NotSpecified: (:) [], RemoteException

    + FullyQualifiedErrorId : NativeCommandErrorMessage

2018-06-11T15:37:20.837 [Info] [1] "Finished retrieving data, computing first function"

2018-06-11T15:37:21.040 [Info] [1] "2nd function.."

2018-06-11T15:37:21.040 [Info] [1] "3rd function.."

2018-06-11T15:37:21.061 [Info] [1] "last function.."

2018-06-11T15:37:21.061 [Info] [1] "Finished everything"


at run.ps1: line 4

+ D:\home\R-3.3.3\bin\x64\Rscript.exe

+ ___________________________________

    + CategoryInfo          : NotSpecified: (:) [], RemoteException

    + FullyQualifiedErrorId : NativeCommandErrorMessage

2018-06-11T15:37:21.290 [Error] Exception while executing function: Functions.TimerTriggerEngagement. Microsoft.Azure.WebJobs.Script: PowerShell script error. Loading required package: methods.

2018-06-11T15:37:21.337 [Error] Function completed (Failure, Id=..., Duration=7114ms)

我的 PowerShell 脚本运行很简单:

cd D:\home\site\wwwroot\microservices
D:\home\R-3.3.3\bin\x64\Rscript.exe engagement.r

例如,当我在 RStudio 中运行我的脚本时,我没有警告/错误。 有什么线索吗?这些错误的解释?

编辑(回答)

正如 ahmelsayed 指出的,这是 azure 中 powershell 的一种奇怪行为。通过运行一些测试,一个像

这样简单的代码
library('httr')
library('parsedate')
library('jsonlite')
print('Testing the azure functions')

for (i in 1:10){
    print(i)
}

返回

2018-06-18T09:43:08.204 [Error] D:\home\R-3.3.3\bin\x64\Rscript.exe : Loading required package: methods

at run.ps1: line 4

+ D:\home\R-3.3.3\bin\x64\Rscript.exe

+ ___________________________________

    + CategoryInfo          : NotSpecified: (Loading required package: methods:String) [], RemoteException

    + FullyQualifiedErrorId : NativeCommandError

2018-06-18T09:43:09.003 [Info] [1] "Testing the azure functions"

2018-06-18T09:43:09.048 [Info] [1] 1

2018-06-18T09:43:09.048 [Info] [1] 2

2018-06-18T09:43:09.048 [Info] [1] 3

2018-06-18T09:43:09.048 [Info] [1] 4

2018-06-18T09:43:09.048 [Info] [1] 5

2018-06-18T09:43:09.048 [Info] [1] 6

2018-06-18T09:43:09.048 [Info] [1] 7

2018-06-18T09:43:09.048 [Info] [1] 8

2018-06-18T09:43:09.081 [Info] [1] 9

2018-06-18T09:43:09.081 [Info] [1] 10

2018-06-18T09:43:09.173 [Error] Exception while executing function: Functions.TimerTriggerTest. Microsoft.Azure.WebJobs.Script: PowerShell script error. Loading required package: methods.

2018-06-18T09:43:09.220 [Error] Function completed (Failure, Id=..., Duration=5223ms)

似乎只是在 R 中加载几个包并运行简单的代码会在 Powershell 中产生错误,即使所有包都正确加载并且代码运行良好。

【问题讨论】:

  • 你能发布 engagement.r 脚本或至少一个足够小的例子来重现吗?还要在 R 中使用 cat 而不是 print 以避免向量 [1] 输出。除了日志文件,控制台是否显示任何内容?

标签: r powershell azure azure-functions


【解决方案1】:

我认为这只是 powershell 的奇怪行为,具体取决于它使用的 io 主机。看到这个问题和接受的答案Error when calling 3rd party executable from Powershell when using an IDE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2020-01-25
    • 2019-05-05
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多