我正在尝试创建一个数据工厂,每周一次将大型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目前没有关于创建自定义活动的任何文档。
答案 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/