Python Azure函数处理blob storag

2024-04-20 16:25:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用msazure中的数据工厂创建一个管道,在blob存储中处理数据,然后对数据运行python处理代码/算法,然后将其发送到另一个源。在

我的问题是,如何在Azure功能应用程序中实现同样的功能?或者有更好的方法吗?在

提前谢谢。在

什亚姆


Tags: 数据方法代码功能算法应用程序管道工厂
2条回答

是的,你能做到。我最近致力于创建一个数据工厂(ADF)管道,从blob存储中提取数据并将其传输到Snowflake。因为它是一个很好的特定示例,所以Snowflake有许多连接器(包括Python),允许您链接到它并运行查询(这就是如何创建一个stage以便从Azure中提取数据)。这是雪花文档:https://docs.snowflake.net/manuals/user-guide/data-load-azure-create-stage.html

您可以按照这里的文档使用Python:https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python创建Azure函数,然后替换您要编写的任何代码,以便将数据移到其他地方。需要注意的是,目前在门户网站上还不能做到这一点(尽管微软提到他们希望很快解决这个问题)。您可以对任何其他要移动数据的端点执行此操作(这只是一个示例)。

在我的例子中,我使用ADF复制活动将数据从本地文件服务器拉入blob存储。从那里,我创建了一个连接到Snowflake的Azure函数(Python),并使用SnowSQL查询创建一个文件格式,创建一个Azure后台文件,然后从后台复制到一个表(已经创建)。当然,对于Snowflake,您只需在门户网站的工作表中运行所有这些查询,但如果您希望将所有代码存储在ADF中(并且您使用了Snowflake),则这是一种很好的方法:

  1. 进口:
import logging
import snowflake.connector 
import azure.functions as func
...
  1. 设置雪花连接并执行查询(只需在“main”函数中插入代码):
^{pr2}$

我创建了一个flaskapi并通过它调用python代码。然后把它作为一个web应用放到Azure中并调用blob。

相关问题 更多 >