azure数据工厂依赖项

时间:2018-03-27 00:27:58

标签: azure-data-factory

我的天蓝色数据工厂有两项活动。

活动A1 = sql db上的存储过程。输入=无,输出= DB(输出1)。存储过程以输出数据集为目标。

活动A2 =从blob复制到相同sql db的azure复制活动(“type”:“Copy”)。输入= blob,输出= DB(输出2)

我需要在A2之前运行活动A1,我不能让世界弄清楚它们之间存在什么依赖关系。

我试图将A2标记为有两个输入 - blob + DB(output1)。如果我这样做,复制活动不会抛出错误,但它不会将blob复制到db(我认为它默默地使用DB作为复制源,而不是blob作为复制源,并以某种方式什么都不做)。

如果我删除了A2上的数据库输入(output1),它可以成功地将blob复制到数据库,但我不再拥有A1需要在A2之前运行的依赖链

谢谢!

1 个答案:

答案 0 :(得分:1)

我想出来了 - 我能够在A2上保留两个依赖关系,但只需要确保2个输入的顺序。奇怪的。看起来像Copy活动只是作用于FIRST输入 - 所以当我移动blob作为第一个输入时它工作! :)(之前我将DB output1作为第一个输入,它默默地做了什么)

 "activities": [
        {
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "BlobSource"
                },
                "sink": {
                    "type": "SqlSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [
                {
                    "name": "MyBlobInput"
                },
                {
                    "name": "MyDBOutput1"
                }
            ],
            "outputs": [
                {
                    "name": "MyDBOutput2"
                }
            ],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 3,
                "retry": 3
            },
            "scheduler": {
                "frequency": "Day",
                "interval": 1
            },
            "name": "AzureBlobtoSQL",
            "description": "Copy Activity"
        }
    ],