gpt4 book ai didi

Azure Webjobs - 使用参数调用方法并调用绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 23:21:35 25 4
gpt4 key购买 nike

我正在更多地使用 Web Jobs sdk,我只需要通过调度程序调用一个方法,它应该将 1-n 个文件写入存储。 WebJobs SDK 的优点是我不需要包含 Azure 存储 SDK,并且所有内容都是“绑定(bind)”的。当我指定文件名时它起作用,但我的“WriteCustomFile”方法只写入一个名为“{name}”的文件

代码:

class Program
{
static void Main(string[] args)
{
JobHost host = new JobHost();
host.Call(typeof(Program).GetMethod("WriteFile"));
host.Call(typeof(Program).GetMethod("WriteCustomFile"), new { name = "Helloworld1.txt" });
host.Call(typeof(Program).GetMethod("WriteCustomFile"), new { name = "Helloworld2.txt" });
host.Call(typeof(Program).GetMethod("WriteCustomFile"), new { name = "Helloworld3.txt" });
//host.RunAndBlock();
}

[NoAutomaticTrigger]
public static void WriteFile([Blob("container/foobar.txt")]TextWriter writer)
{
writer.WriteLine("Hello World..." + DateTime.UtcNow.ToShortDateString() + " - " + DateTime.UtcNow.ToShortTimeString());
}

[NoAutomaticTrigger]
public static void WriteCustomFile(string name, [Blob("container/{name}")] TextWriter writer)
{
writer.WriteLine("Hello World New ..." + name + ":" + DateTime.UtcNow.ToShortDateString() + " - " + DateTime.UtcNow.ToShortTimeString());
}
}

我想要实现的只是使用给定的文件名调用“WriteCustomFile”。我发现的所有示例都使用“Blob 输入/输出”思想。我找到了这个示例,但它看起来更像是一个黑客;) http://thenextdoorgeek.com/post/WAWS-WebJob-to-upload-FREB-files-to-Azure-Storage-using-the-WebJobs-SDK

目前有办法做到这一点吗?

最佳答案

WebJobs SDK 3.0.1 不支持 Host.Call 的“奇特”参数绑定(bind)(以及从仪表板调用) - 我们将在未来版本中添加该功能。

目前,解决方法是显式指定 blob 的路径:

static void Main(string[] args)
{
JobHost host = new JobHost();
host.Call(
typeof(Program).GetMethod("WriteCustomFile"),
new {
name = "Helloworld1.txt",
writer = "container/Helloworld1.txt" });
}

[NoAutomaticTrigger]
public static void WriteCustomFile(string name, [Blob("container/{name}")] TextWriter writer)
{
writer.WriteLine("Hello World New ..." + name + ":" + DateTime.UtcNow.ToShortDateString() + " - " + DateTime.UtcNow.ToShortTimeString());
}

关于Azure Webjobs - 使用参数调用方法并调用绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24581166/

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