Azure数据工厂的Python自定义活动

时间:2018-02-07 11:33:27

标签: python azure azure-data-factory

我正在尝试创建一个数据工厂,每周一次将大型blob文件(源代码)复制并处理到python中的SQL数据库(Sink) - 通过逐行读取输入数据集,提取ID - 使用该ID在CosmosDB上执行查找,以获取重新组合输出数据集并写入接收器的其他数据。 我有一个python脚本一次关闭(即每次读取整个blob)没有ADF,但我现在想要使用ADF上的调度功能来自动执行此操作。

有没有办法在Python中创建自定义复制活动,我可以将当​​前的代码逻辑注入其中。 Azure目前仅记录.Net自定义活动(https://docs.microsoft.com/en-us/azure/data-factory/transform-data-using-dotnet-custom-activity),这些活动不适合我的堆栈。

python azure SDK目前没有关于创建自定义活动的任何文档。

1 个答案:

答案 0 :(得分:1)

如果查看示例,您会发现可以在节点上运行可执行文件。

     "typeProperties": {
          "command": "helloworld.exe",
          "folderPath": "customactv2/helloworld",
          "resourceLinkedService": {
            "referenceName": "StorageLinkedService",
            "type": "LinkedServiceReference"
          }
        }

再往下,v1& v2他们只显示运行“cmd”。

cmd /c echo hello world

因此,如果您可以创建一个可执行文件来启动您的python代码,那么它可能正常工作。您也可以使用参数。但是,代码将在Azure Batch上运行,后者为您配置VM。此VM可能没有您需要的所有依赖项。您必须创建一个“便携式”包才能使其正常工作。也许这post可以帮助你。

通过Web活动触发Azure功能会更加优雅。但似乎是非常bèta的东西:https://ourwayoflyf.com/running-python-code-on-azure-functions-app/