gpt4 book ai didi

azure - 如何获取 Azure WebJob 的输入 blob 的名称?

转载 作者:行者123 更新时间:2023-12-02 08:34:49 24 4
gpt4 key购买 nike

我正在使用新的 Azure WebJobs 功能,并且当新文件进入 blob 之一时有一个简单的触发器:

public static void ProcessImportFile([BlobInput("importjobsdata/{name}")] TextReader input,
[BlobOutput("importjobslog/log_{name}")] TextWriter writer)
{
writer.WriteLine("Starting import file process...");

var result = InputData(input, writer);

var status = result == 0 ? "SUCCESS" : "FAIL";
var message = result == 0
? "Import success."
: "Import fail. " + result + " records failed to import. Check logs for details.";

writer.WriteLine(message);
}

我想要做的是获取已上传文件的名称(即数据注释中的 {name} 属性),以便我可以将该信息写入写入器(日志)以用于诊断目的。

但是,我似乎找不到 TextReader/BlobInput 的任何属性可以为我提供此信息。

我做了一些挖掘,发现 TextReader 的 BaseStream 属性是一个 Microsoft.WindowsAzure.Jobs.WatchableStream 对象。我不确定这是否有助于追踪名字。

我该如何获取它?

最佳答案

name 捕获的值也将传递给具有该名称的参数。所以你应该能够做到这一点:

public static void ProcessImportFile([BlobInput("importjobsdata/{name}")] TextReader input,
string name,
[BlobOutput("importjobslog/log_{name}")] TextWriter writer)
{
writer.WriteLine(name);
}

关于azure - 如何获取 Azure WebJob 的输入 blob 的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com