将Azure Blob存储事件通知发送到另一个帐户的事件中心

问题描述 投票:1回答:2

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

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

在AWS中,我能够通过在接收方帐户中创建角色,按ID添加源帐户,添加SQS Writer资源权限以及添加SQS队列ARN作为存储区通知目标来实现此目的。我猜在Azure中可能有类似的东西..

目前,我正在查看Active Directory IAM,它似乎具有EventGrid EventSubscription Contributor属性。在目标帐户中,我添加了源帐户作为贡献者,并且我在源帐户中收到了我在目标帐户中具有权限的通知,但是当我尝试在源帐户中创建事件订阅时,事件中心在目标帐户不显示为选项。

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

azure azure-active-directory azure-eventhub azure-eventgrid azure-storage-account
2个回答
0
投票

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

  1. 解决方案1使用Azure功能。您可以使用Azure功能和Blob触发器来获取blob更改的事件通知,然后通过PUT / POST方法通过HttpTrigger请求其他Azure功能来传输blob信息的事件消息,如带有SAS令牌的blob url,以便在其他地方访问订阅。
  2. 解决方案2使用Azure Logic Apps。您可以使用下面的逻辑流来获取blob更改事件,以将通知消息发送到其他订阅中的EventHub,因为Azure Logic Apps允许手动配置其连接信息,如下所示。 图1.从Blob Storage获取事件并发送到EventHub enter image description here的逻辑流程 图2.单击Manually enter connection information以配置其他订阅中的服务。 图2-A。 enter image description here 图2-B。 enter image description here

0
投票

基本上,Azure Event Grid Pub / Sub模型支持两种方式,用于跨多租户环境的交付事件,例如:

  1. 基于RBAC将事件消息的紧密耦合传递到订户资源。在订户(目标)资源,您可以 添加内置角色分配,例如Azure AD用户的EventGrid EventSubscription Contributor等。 或者在Azure订阅级别添加共同管理员

以下屏幕截图显示了当我是共同管理员两个Azure订阅(例如舞台和开发)时的示例。

在Stage azure帐户的AEG提供程序中为事件驱动的blob存储主题创建事件订阅,并将其通过azure帐户边界的通知事件传递给订阅服务器,例如位于Development azure帐户中的Event Hub,这很简单:

enter image description here

  1. 基于WebHook事件处理程序端点,在多租户边界上将事件消息的交付松散地分离到订阅服务器。对于跨租户边界的Pub / Sub集成,可以使用EventGridTrigger函数,其输出绑定到Event Hub资源。以下屏幕截图显示了此示例: enter image description here 上述解决方案非常简单,能够将事件消息调解(预处理)到Event Hub资源。 在以扇出模式方式将事件分发给其他订户等的情况下,Azure事件网格可以级联,如以下屏幕片段所示: enter image description here 在上面的解决方案中,每个租户都有自己的Azure Event Grid提供程序,并且通过“plumbing”WebHook事件处理程序端点和自定义主题端点进行级联。有关AEG级联实现的更多细节可以在here找到。
© www.soinside.com 2019 - 2024. All rights reserved.