gpt4 book ai didi

c# - 反序列化 blob 并输出到具有 blob 内容名称的不同容器

转载 作者:行者123 更新时间:2023-12-03 03:00:19 25 4
gpt4 key购买 nike

我在 azure blob 中有一个 json,我需要反序列化并从中获取字符串。该字符串是 blob 的名称。然后,我需要使用我刚刚提取的名称将作为此函数输入的 blob 复制到存储容器中。

public static void Run([BlobTrigger("output/{name}", Connection = "AzureWebJobsStorage")]Stream myBlob, string name, TraceWriter log)
using (var sr = new StreamReader(myBlob))
using (var jsonTextReader = new JsonTextReader(sr))
{
var transcript = (someobject)serializer.Deserialize(jsonTextReader, typeof(Transcript));
string blobname = (someobject.Results[0].FileName).Substring(0, name.LastIndexOf('.'));

上面是我当前函数的定义以及我用来从 json 中提取文件名的方法。这可能与 blob 输入和输出绑定(bind)有关吗?如果是这样,有没有办法动态分配输出 blob 的名称?

最佳答案

您可以使用命令式绑定(bind)来编写输出 blob,符合以下内容:

public static void Run(
[BlobTrigger("input/{name}", Connection = "AzureWebJobsStorage")] string myBlob,
string name,
Binder binder)
{
var someobject= serializer.Deserialize<Transcript>(myBlob);
string blobname = (someobject.Results[0].FileName).Substring(0, name.LastIndexOf('.'));

using (var writer = binder.Bind<TextWriter>(
new BlobAttribute($"output/{blobname}")))
{
writer.Write(myBlob);
}
}

我对你的函数做了一些更改,以使我的示例更易于阅读。

关于c# - 反序列化 blob 并输出到具有 blob 内容名称的不同容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49457903/

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