创建通知集成,向 Microsoft Azure 事件网格主题发送通知¶
要向 Microsoft Azure 事件网格主题发送通知,必须为该主题创建通知集成。要这样做,请执行以下操作:
第 1 步:创建自定义事件网格主题¶
事件网格主题提供源发送事件通知的端点。创建专用主题,接收 Snowflake 发布的通知。
有关创建事件网格主题的说明,请参阅 事件网格文档 (https://docs.microsoft.com/en-us/azure/event-grid/custom-event-quickstart)。
记录事件网格主题端点,稍后您将在这些说明中需要它。
(可选)订阅该主题,以告知事件网格您想要跟踪哪些事件以及将这些事件发送到何处。
第 2 步:在 Snowflake 中创建通知集成¶
检索租户 ID¶
检索 Azure 租户 ID,稍后您将在这些说明中需要它。
登录 Microsoft Azure 门户。
导航到 Azure Active Directory » Properties。记录 Tenant ID 值以供以后参考。需要目录 ID 或 租户 ID 来生成授予 Snowflake 访问事件网格主题的许可 URL。
创建通知集成¶
运行 CREATE NOTIFICATION INTEGRATION 命令创建通知集成。集成是一个引用您创建的事件网格主题的 Snowflake 对象。
运行命令时,为推送通知设置参数。云提供商参数:
将 AZURE_EVENT_GRID_TOPIC_ENDPOINT 设置为 您之前记录的事件网格主题端点。
将 AZURE_TENANT_ID 设置为您的 Azure 租户 ID。
例如:
CREATE NOTIFICATION INTEGRATION my_notification_int
ENABLED = TRUE
DIRECTION = OUTBOUND
TYPE = QUEUE
NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
AZURE_EVENT_GRID_TOPIC_ENDPOINT = 'https://myaccount.region-1.eventgrid.azure.net/api/events'
AZURE_TENANT_ID = 'mytenantid';
授予 Snowflake 对该主题的访问权限¶
执行 DESCRIBE INTEGRATION 命令以显示您刚刚创建的通知集成的属性。
例如,要显示名为
my_notification_int
的通知集成的属性,请执行以下操作:记录以下属性的值:
AZURE_CONSENT_URL
Microsoft 权限请求页面的 URL。
AZURE_MULTI_TENANT_APP_NAME
为账户创建的 Snowflake 客户端应用程序的名称。在本部分后面的步骤中,需要授予此应用程序必要的权限,使其获取允许主题的访问令牌。
在 Web 浏览器中,导航到 AZURE_CONSENT_URL 属性指定的 URL。该页面显示 Microsoft 权限请求页面。
选择 Accept。此操作允许向为 Snowflake 账户创建的 Azure 服务主体授予对租户内指定资源的访问令牌。仅当您授予服务主体对容器的适当权限时,才能成功获取访问令牌(请参阅下一步)。
Microsoft 权限请求页面会重定向到 Snowflake 公司站点 (snowflake.com)。
登录 Microsoft Azure 门户。
导航到 Azure Active Directory » Enterprise applications。验证您之前记录的 Snowflake 应用程序标识符(AZURE_MULTI_TENANT_APP_NAME 属性的值)是否已列出。
重要
如果以后在 Azure AD 中删除 Snowflake 应用程序,通知集成将会停止工作。
导航到 Event Grid Topics »
topic_name
,其中topic_name
是您创建的用于接收事件通知的主题名称。选择 Access Control (IAM) » Add role assignment。
搜索 Snowflake 服务主体。这是您之前记录的 AZURE_MULTI_TENANT_APP_NAME 属性中的标识。在 AZURE_MULTI_TENANT_APP_NAME 属性中搜索下划线 之前 的字符串。
重要
Azure 可能需要一个小时或更长时间才能创建通过此部分中的 Microsoft 请求页面请求的 Snowflake 服务主体。如果服务主体不能立即使用,我们建议等待一两个小时,然后再次搜索。
如果删除服务主体,通知集成将停止工作。
授予 Snowflake 应用程序 EventGrid 数据发送者 (https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#eventgrid-data-sender) 权限。