首页 > 解决方案 > 将 Azure Blob 存储事件通知发送到另一个帐户上的事件中心

问题描述

在 Azure 中,我试图将事件通知从一个 Active Directory 中的存储帐户发送到另一个 Active Directory 中的事件中心。

我无法弄清楚如何共享/链接资源。

在 AWS 中,我可以通过在接收者账户中创建一个角色、按 ID 添加源账户、添加 SQS Writer 资源权限以及添加 SQS Queue ARN 作为存储桶通知目标来完成此操作。我猜在 Azure 中可能会出现类似的情况..

目前,我正在查看似乎具有该EventGrid EventSubscription Contributor属性的 Active Directory IAM。在目标帐户中,我已将源帐户添加为参与者,并且我在源帐户中收到一条通知,表明我在目标帐户中具有权限,但是当我尝试在源帐户中创建事件订阅时,事件中心位于目标帐户不显示为选项。

如何将事件通知从另一个帐户中的存储帐户写入一个帐户中的事件中心?

标签: azureazure-active-directoryazure-eventhubazure-eventgridazure-storage-account

解决方案


绝对没错。我认为在不同的订阅中有很多方法可以做到这一点,比如下面的两种。

  1. 使用 Azure Functions 的解决方案 1。您可以使用带有 Blob Trigger 的 Azure Function 来获取 blob 更改的事件通知,然后通过PUT/POST方法请求带有 HttpTrigger 的其他 Azure Function 以传输带有 SAS 令牌的 blob url 等 blob 信息的事件消息,以便在其他订阅中访问。

  2. 使用 Azure 逻辑应用的解决方案 2。您可以使用下面的逻辑流来获取 blob 更改事件以将通知消息发送到其他订阅中的 EventHub,因为 Azure 逻辑应用程序允许手动配置其连接信息,如下所示。

    图 1. 从 Blob Storage 获取事件并发送到 EventHub 的逻辑流程 在此处输入图像描述

    图 2. 单击Manually enter connection information以配置其他订阅中的服务。

    图 2-A。

    在此处输入图像描述

    图 2-B。

    在此处输入图像描述


推荐阅读