在Azure Functions中使用F#

Mik*_*kov 7 f# azure azure-functions

目前在Azure功能中使用F#的最佳方法是什么?我希望我的函数同时具有输入和输出绑定(例如,对于队列或事件集线器)

到目前为止我发现了什么:

有没有办法使用输入和输出的F#函数并直接将其作为Azure函数托管?类似于C#Run方法的东西?

理想情况下,输入和输出应该是强类型的:对象,记录或区别联合.

mat*_*ewc 6

模板仅作为起点 - 您可以在门户"集成"选项卡中轻松添加其他输入/输出绑定.例如,如果添加一个名为result并绑定到blob路径的新Blob输出"test-output/%rand-guid%",则可以编写如下编写blob的脚本:

open System
open System.IO

let inputPath = Environment.GetEnvironmentVariable("input")
let input = File.ReadAllText(inputPath)
let message = sprintf "F# script processed queue message '%s'" input
System.Console.Out.WriteLine(message)

let resultPath = Environment.GetEnvironmentVariable("result")
File.WriteAllText(resultPath, input);
Run Code Online (Sandbox Code Playgroud)

关于F#的更强类型的"头等"支持,正如我在你链接到的论坛帖子中所提到的,我们正在研究它:)现在,F#与其他所有proc脚本类型在一起,其中如上所示,进出绑定管道的通信机制是通过环境变量进行的.


Joh*_*son 6

现在F#是原生的!

感谢包括Don Syme和Tomas Petricek在内的F#团队的出色工作,我们很高兴地宣布,我们终于在Azure Functions中以一流的方式支持F#.

https://blogs.msdn.microsoft.com/appserviceteam/2016/09/01/azure-functions-0-5-release-august-portal-update/