我希望在将文件上传到容器并读取文件中的内容时触发功能应用程序。我能够触发功能应用。但是,当我使用Openread读取文件中的内容时,我找不到引用错误。下面是我用来读取文件和绑定的代码。
n
绑定
#r "System.IO";
using System;
using System.Collections.Generic;
using System.IO;
using System.Configuration;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System.Xml;
using Microsoft.Win32;
using System.Net;
using System.Linq;
public static void Run(Stream myBlob, string name, TraceWriter log, string
inputBlob)
{
log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size:
{myBlob.Length} Bytes");
StreamReader reader = new StreamReader(inputBlob.OpenRead())
{
String oldContent = reader.ReadToEnd();
}
}
有人可以帮忙吗?
由于
答案 0 :(得分:1)
我没有看到GetblobReference,这可能是问题的原因:
var blob = container.GetBlobReference("testblob.txt");
blob.UploadText(new String('x', 5000000));
var source = blob.OpenRead();
您可以查看官方文档 here
我还建议您查看此thread
中的示例答案 1 :(得分:1)
您可以按照此document创建blob触发器。
我找不到参考错误
在您的情况下,inputBlob
是字符串类型,您无法使用inputBlob.OpenRead()
。并且不需要额外的绑定inputBlob
请尝试使用以下代码。它在我身边正常工作。
#r "System.IO"
using System;
using System.Collections.Generic;
using System.IO;
public static void Run(Stream myBlob, string name, TraceWriter log)
{
log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
StreamReader reader = new StreamReader(myBlob);
string oldContent = reader.ReadToEnd();
log.Info($"oldContent:{oldContent}");
}