【问题标题】:Azure WebJob Output Multiple BlobsAzure WebJob 输出多个 Blob
【发布时间】:2015-10-21 19:47:09
【问题描述】:

我已经构建了一个 Azure Webjob,它将队列触发器和 blob 引用作为输入,处理文件并创建多个输出 blob 文件(它将 PDF 分解为单独的页面)。为了输出多个 blob,我在作业中有明确创建存储/容器连接并执行输出的代码。如果可以使用属性,让 webjobs 处理这个会更干净。

有没有办法将多个 blob 输出到容器?我可以使用 QueueAttribute 和 ICollector 输出多个队列消息,但我不知道 Blob 是否可能(例如可以发送多个 Blob 的容器引用)。谢谢。

【问题讨论】:

    标签: azure azure-webjobs


    【解决方案1】:

    正确 - BlobAttribute 不支持 ICollector 绑定。在当前的 beta 版本中,我们添加了一些新的绑定,可能会对您有所帮助。例如,您现在可以绑定到 CloudBlobContainer 并且可以使用它来创建额外的 blob。有关详细信息,请参阅release notes

    另一种可能是您使用 IBinder 绑定 (example here)。它允许您强制绑定到 blob。你可以在你的函数中多次这样做。

    【讨论】:

    • CloudBlobContainer 在测试版结束时看起来是一个不错的解决方案。现在,使用 IBinder,只是为了将示例扩展到我的情况,绑定 MemorySteam 看起来是否正确:MemoryStream pdfPage = binder.Bind<MemoryStream>(new BlobAttribute("page/" + page.id + ".pdf")); myPdfLib.SaveAsSteam(pdfPage);
    • 是的,看起来不错。如果您愿意,您现在可以使用 nuget 的 1.1.0-beta1 版本(除非您说您不想使用预发布包)。我们应该很快就退出测试版了。
    猜你喜欢
    • 2015-05-31
    • 1970-01-01
    • 2018-02-17
    • 2019-08-20
    • 2018-11-18
    • 2019-03-28
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    相关资源
    最近更新 更多