如何将Console App的代码块转换为Azure Function的代码块?

时间:2018-12-05 03:38:39

标签: c# azure azure-functions csx

我已经编写了示例控制台应用程序,它已经编译并且可以很好地获取数据。现在,我想将其作为Azure函数进行测试。以下是控制台应用程序中的代码块。如何将其重写为Azure的时间触发功能?谢谢。

using System;
using System.IO;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;

namespace Google.Apis.Samples

internal class MyData
{
    [STAThread]
    static void Main(string[] args)
    {
        Console.WriteLine("Blah Blah Blah");
        Console.WriteLine("==============");

        try
        {
            new MyData().Run().Wait();
        }
        catch (AggregateException ex)
        {
            foreach (var e in ex.InnerExceptions)
            {
                Console.WriteLine("Error: " + e.Message);
            }
        }
    }
    private async Task Run()
    {
    // I can either use service account or supply api key.
    // How do I read a JSON file from Azure function?
    // then I can Get data and display results.
    }
}

2 个答案:

答案 0 :(得分:1)

所以我终于明白了。

我在VS2017中使用了Azure功能模板。

我需要添加NuGet程序包(我必须使用Azure V2来满足依赖性要求)。 而且我只需要将所有代码放入 Console App private async Task Run()中,放入 Azure Function public static void Run([TimerTrigger( ...

我尚未在Azure上发布和测试它。顺便说一句,必须在Windows CMD中以管理模式初始化和启动Azure存储模拟器。

Function's output

答案 1 :(得分:0)

我不确定您的意图是什么,但是如果您想使用azure函数对代码进行编码,则可能会对您有所帮助。

为了读取json文件,您可以使用:

  FileStream fs = new FileStream(@"your_json", FileMode.Open)

您在此处使用一个Azure函数进行编码

using System.Net;
using System.IO;

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
    log.Info("Blah Blah Blah");
    log.Info("==============");

    try
        {
            await Run_Function();
        }
        catch (AggregateException ex)
        {
            foreach (var e in ex.InnerExceptions)
            {
                log.Info("Error: " + e.Message);
            }
        }


     return req.CreateResponse(HttpStatusCode.OK, "OK");
}

 private static Task Run_Function()
    {
    // I can either use service account or supply api key.
    // How do I read a JSON file from Azure function?
      using (FileStream fs = new FileStream(@"your_json", FileMode.Open))
        {
                // then I can Get data and display results.                
        }
    return null;
    }