Snowpipe 云消息传递机制如何在 Azure 上准确运行?
Posted
技术标签:
【中文标题】Snowpipe 云消息传递机制如何在 Azure 上准确运行?【英文标题】:How does the Snowpipe cloud messaging mechanism exactly work on Azure? 【发布时间】:2021-10-13 07:11:53 【问题描述】:我已成功地将 Snowpipe 与 Azure 存储中的一个容器集成,并将数据加载到我的目标表中,但现在我无法确切了解 Snowpipe 的实际工作原理。另外,如果已经有很好的资源可以回答这个问题,请告诉我,我将非常感激。
在我的示例中,我测试了使用云消息传递的 Snowpipe 机制。因此,据我了解,当文件上传到 Azure 容器中时,Azure 事件网格会向 Azure 队列发送一条事件消息,从该队列中通知 Snowpipe 新文件已上传到容器中。然后,Snowpipe 在后台开始加载过程并将数据导入目标表。
如果这是正确的,我不明白 Azure 队列如何通知 Snowpipe 上传的文件。这是否与 Snowflake 内部的“通知集成”有关?另外,当他们在 Snowflake page 上说“Snowpipe 将文件复制到队列中,然后将它们加载到目标表中......”时,我不明白这是什么意思。这是 Azure 队列还是某个 Snowflake 队列?
我希望这个问题有意义,感谢您对整个过程的任何帮助或详细解释!
【问题讨论】:
【参考方案1】:你已经成功了。回答你的具体问题......(不要为他们感到难过,这绝对是令人困惑的)
Azure 队列如何通知 Snowpipe 上传的文件?这与雪花内部的“通知集成”有关吗? 是的,这是通知集成。但 Azure 并没有“通知” Snowpipe,而是相反。 Azure 队列创建各种其他应用程序可以订阅的通知(这不知道雪花)。雪花端的通知集成是雪花与这些外部通知集成的方式 Snowpipe 的排队 一旦雪花收到这些通知之一,它就会将该通知放入雪花端队列(或根据该页面,文件本身。我对此感到惊讶,但最终结果是相同的)。 Snowpipes 连接到该通知集成(作为 create 语句的一部分)。根据“阶段”中的信息将文件定向到适当的雪管(也作为管道创建语句的一部分。我实际上不确定这部分是推还是拉)。然后它在该文件上运行COPY INTO
。
【讨论】:
感谢您的回复,并确认我的一些假设!现在有点清楚了。以上是关于Snowpipe 云消息传递机制如何在 Azure 上准确运行?的主要内容,如果未能解决你的问题,请参考以下文章
Android Firebase 云消息传递令牌 (FCM) 令牌太短/不完整
如何编写将部分传入消息传递给服务总线队列的 Azure HTTP 触发器函数?
如何在 webapp 中实现 firebase 云消息传递? [关闭]