如何将数据传输到Azure工作者

时间:2019-04-10 15:21:50

标签: azure azure-storage-blobs azure-queues

目前我有以下流程:

  1. 外部申请
    • 创建输入数据并将其写入Azure Blob文件
    • 在Azure存储队列中用元数据写消息,
  2. AppLogic已挂接到队列并使用worker启动容器的新实例,
  3. 新的ACI容器实例从Azure Blob文件复制输入文件,对其进行处理(主要使用ImageMagick),将输出文件保存在Azure Blob文件中, 然后关闭自己。

它可以正常工作,但是现在我想防止流重复。

我的第一个想法是将队列更改为可以检查密钥唯一性的Azure Service Bus。然后我开始考虑是否应该更改顺序并首先将消息添加到队列中,然后(如果不是重复的话)写blob?但是在紧固脚本启动容器的情况下,因为跟踪队列为时过早。也许我应该使用Azure Blob文件创建触发器(Microsoft.Storage.BlobCreated是否合适)?但是,为什么在这种情况下完全使用队列呢?也许Blob表存储会更好,我错了吗?

最终流量:

  1. 外部申请
    • 使用元数据在Azure存储表中写入消息,
    • 创建输入数据并将其写入Azure Blob文件
  2. AppLogic跟踪Microsoft.Storage.BlobCreated,从Azure存储表中读取元数据,并使用worker启动容器的新实例,
  3. 没有变化。

是否合适?还是更好的解决方案?

0 个答案:

没有答案