代码之家  ›  专栏  ›  技术社区  ›  Alex Gordon

强制绑定到输入blob

  •  0
  • Alex Gordon  · 技术社区  · 5 年前

    如何强制绑定到输入blob?

    我希望能够在我的azure函数中读取blob。这样做的一种方法是添加一个参数,比如:

    [Blob("%MyInputBlob%/{FileName}", FileAccess.Read)]  Stream input
    

    但是,这对我不起作用,因为我需要读取多个blob,它们有不同的 {filenames} .

    我知道有一个命令式绑定解决方案可以写入如下输出:

            var attributes = new Attribute[]
            {
                    new BlobAttribute(path),
                    new StorageAccountAttribute(connection)
            };
            using (var writer = await binder.BindAsync<TextWriter>(attributes))
            {
                writer.Write(payload);
            }
    

    对于输入blob是否有类似的绑定功能?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Joey Cai    5 年前

    对于动态输入绑定,可以按如下方式更改绑定类型:

    var blobString = await binder.BindAsync<string>(attributes);
    

    这是一个类似的 issue 你可以参考一下。

        2
  •  1
  •   Chris    5 年前

    如果我正确地理解了您,您可以在不指定文件名的情况下获得对BLUB容器的引用:

    [Blob("ContainerName", Connection = "StorageConnectionString")] CloudBlobContainer container
    

    然后从这里-读取文件:

    container.GetBlockBlobReference("filename");