首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure函数调用二进制可执行文件,流标准输出到响应(例如node.js的child_process.spawn )

Azure函数调用二进制可执行文件,流标准输出到响应(例如node.js的child_process.spawn )
EN

Stack Overflow用户
提问于 2016-11-02 02:19:04
回答 1查看 723关注 0票数 0

我有一个带有HTTP触发器的Azure函数。我想通过node.js和/或C#调用一个二进制文件,并将其标准输出流式传输到响应,同时在进程中设置HTTP状态代码。

我不能通过AWS Lambda的包装器使用的常用技术(例如node.js的child_process.spawn )做到这一点,尽管我可能遗漏了一些简单的东西。通过批处理函数来做这件事很简单,除了设置状态代码和我还没有检查响应是否真的流。有没有通过node.js和/或C#做到这一点的例子?

EN

回答 1

Stack Overflow用户

发布于 2016-11-02 04:49:52

亚伦

这应该像在Azure Functions环境之外一样工作。

在C#/Node中有很多关于如何执行进程并读取其输出的示例,因此我不会在这方面花费太多时间,但这里有一个运行dir并打印目录的快速函数示例:

代码语言:javascript
复制
using System;
using System.Diagnostics;

public static void Run(string input, TraceWriter log)
{
    log.Info("Executing");
    using (var process = new Process())
    {
        process.StartInfo.FileName = @"D:\Program Files (x86)\Git\usr\bin\dir.exe";
        process.StartInfo.Arguments = @"D:\home";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.Start();
        string output = process.StandardOutput.ReadToEnd();
        process.WaitForExit();

        log.Info(output);
    }
}

关于流式输出,虽然有可能,但Azure函数不建议这样做(至少现在不是这样)。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40366166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档