2017-12-03 2 views
1

Ich versuche, R in eine Azure-Funktion zu integrieren.Run R.NET in und Azure-Funktion

Anstatt nur die R exe aufzurufen - ich möchte in der Lage sein, die R.NET-Bibliothek zu versuchen, um Daten zwischen .NET und R zu übergeben und zu sammeln. Zum Beispiel reagieren auf ein Ereignis.

Es läuft lokal gut, aber sobald es als eine Azure-Funktion bereitgestellt wird, erhalte ich verschiedene Fehler. Die letzte ": Diese Engine läuft nicht. Möglicherweise haben Sie vergessen, Initialize aufzurufen"

Für alle anderen, die dies versuchen möchten, musste ich die Azure-Funktion als 64-Bit ausführen und auch die R-Erweiterungsbibliothek installieren die Funktion. bei RDotNet.REngine.CheckEngineIsRunning()

Hat jemand Erfolg gehabt? Möchte jemand mit R.NET-Erfahrung helfen, als Azure-Funktionsumgebung arbeiten zu können?

Antwort

1

Mit Blick auf die in code R.NET für die Funktionen RDotNet.REngine.GetInstance(), RDotNet.REngine.CheckEngineIsRunning() und RDotNet.REngine.Initialize(), scheint es, als ob der Motor weise über RDotNet Schaffung .Rengine.GetInstance() sollte Ihnen helfen, dieses Problem zu vermeiden, wie nach dem Aufruf, dass die Methode ausgeführt werden sollte, und Sie diesen Bereich nicht finden sollten.

Es ist möglich, dass beim Erstellen dieser Instanz ein Fehler auftritt. Betrachtet man die Code-Kommentare zur Verwendung im obigen Link, sieht es so aus, als ob eine Umgebungsvariable für PATH gesetzt werden muss. Es ist möglich, dass der Code, den Sie für die Einrichtung verwendet haben, in Azure-Funktionen nicht funktioniert. Sie können Umgebungsvariablen in Azure-Funktionen manuell mithilfe von App Settings festlegen.

+0

Hallo - danke für die Mühe - Ich habe versucht, die PATH und HOME in die Initialisierung anstelle der Standard-Null übergeben. Sie haben Recht - der Code erfordert möglicherweise noch einige Umgebungseinstellungen. –