将对象复制作为事件网格源的 Azure Blob

Posted

技术标签:

【中文标题】将对象复制作为事件网格源的 Azure Blob【英文标题】:Azure blob with object replication as an event grid source 【发布时间】:2021-03-02 21:06:23 【问题描述】:

azure blob object replication 创建 blob storage events 吗?

用例是在 azure 区域/订阅之间复制 blob。当 blob 到达目标存储帐户时,应通过事件网格和存储队列 (as in here) 通知 Snowpipe。

设置对象复制、事件网格和队列后,我可以看到文件到达,但似乎没有生成任何事件。仅当我手动删除 blob 或创建 blob 时,才会将事件推送到队列中。 我的第一个猜测是对象复制没有创建事件,但这个设置可能还有另一个问题?

【问题讨论】:

【参考方案1】:

是的,当然。

看看这个文档:

https://docs.microsoft.com/en-us/azure/event-grid/event-schema-blob-storage?toc=/azure/storage/blobs/toc.json#list-of-events-for-blob-rest-apis

在创建或替换 blob 时触发。具体来说,本次活动 当客户端使用 PutBlob、PutBlockList 或 CopyBlob 时触发 Blob REST API 中可用的操作。

我使用复制 blob azure cli:

az storage blob copy start --destination-blob 1120.png --destination-container test1 --account-key Oczxxxxxx== --account-name 0730bowmanwindow --source-account-key Oczxxxxxx== --source-account-name 0730bowmanwindow --source-blob 1120.png --source-container test

并且事件网格获取事件:

这是我这边的过滤器:

【讨论】:

谢谢@bowman-zhu,但在我看来,你没有仔细阅读我的问题。这不是关于复制 blob,而是关于使用 blob 对象复制功能。 @Marcin 抱歉误解了您的问题。我做了一个测试,确实,正如你所说,blob对象复制没有生成事件。我认为这可能是一个错误。这应该理解为创建 blob 的操作,并且应该生成创建事件。明天我会将这个问题反馈给微软。您的发现很有意义,感谢您的贡献!:)(在修复此错误之前,您可能仍然无法接收事件。) 谢谢@bowman-shu - 您能否在此处发布支持请求/错误的链接,以跟踪修复工作。或者至少分享反馈。 @Marcin 我在这里发布了问题:github.com/MicrosoftDocs/azure-docs/issues/66572 如果您想反馈,这是链接:feedback.azure.com

以上是关于将对象复制作为事件网格源的 Azure Blob的主要内容,如果未能解决你的问题,请参考以下文章

“排队”的 Azure 事件网格 Blob 触发器事件消息存储在哪里,如何清除它们?

使用内置触发器或事件网格的 Azure 函数

我们可以使用 Azure 存储队列作为事件源吗?

如何使用 Azure 事件网格发布覆盖默认过期时间到队列?

无法将数据从 Snowflake 复制到 Azure Blob

如何使用数据工厂将 IoT 中心存储的 blob 复制到 Azure SQL