【问题标题】:How to read json file from blob storage using Azure Functions Blob Trigger with C#如何使用带有 C# 的 Azure Functions Blob Trigger 从 Blob 存储中读取 json 文件
【发布时间】:2018-01-24 02:54:31
【问题描述】:

将 Azure 函数与 Blob 触发器结合使用。如何读取 JSON 文件。在示例中,它仅读取长度。我应该使用 Stream 还是 CloudBlockBlob ?我需要使用 c# 对 json 进行反序列化。

【问题讨论】:

    标签: azure-functions


    【解决方案1】:

    类似下面的方法可以解决问题。

    [FunctionName("BlobTriggerCSharp")]        
    public static void Run([BlobTrigger("demo/{name}")] Stream stream, string name, TraceWriter log)
    {
        var serializer = new JsonSerializer();
    
        using (var sr = new StreamReader(stream))
        using (var jsonTextReader = new JsonTextReader(sr))
        {
            var person = (Person)serializer.Deserialize(jsonTextReader, typeof(Person));
    
            // Do something with person.
        }
    }
    

    有关更多详细信息,请参阅 Json.Net 文档 - https://www.newtonsoft.com/json/help/html/DeserializeWithJsonSerializerFromFile.htm

    【讨论】:

      【解决方案2】:

      您可以绑定为字符串,然后SDK会为您读取内容。然后您可以转换为 JSON。

      [FunctionName("BlobTriggerCSharp")]        
      public static void Run([BlobTrigger("demo/{name}")] string contents) 
      {
         var person = JsonConvert.DeserializeObject<Person>(contents); 
      }
      

      您还可以绑定到 byte[] 以获取字节内容。

      【讨论】:

      • 使用流比传递 byte[] 或 string 的块更有效
      猜你喜欢
      • 2021-08-26
      • 1970-01-01
      • 2012-06-16
      • 2020-07-15
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 2021-06-11
      • 2022-01-20
      相关资源
      最近更新 更多