如何从活动访问管道属性和数据集属性

时间:2016-11-02 13:42:52

标签: azure azure-data-factory

我找到了这个文档Azure Data Factory - Functions and System Variables,但它没有显示我如何访问其他项目。例如管道的名称,以便我可以将其作为属性值传递给,例如在SqlServerStoredProcedure中,或者作为创建路径的一部分等。

我希望能够在此"source": "$$Text.Format('{0}/scored/{1:yyyy}/{1:MM}/{1:dd}/ActivityMetrics_NameAndResult_AD_Scored_{1:yyyy}_{1:MM}_{1:dd}.tsv', PipelineName, SliceStart)"

中添加管道名称(或管道的其他属性)

我希望能够引用输入/输出数据集的属性,

"destination":"OTEL_ActivityMetrics_NameAndResult_Scored",

在这里,我希望能够引用InputDataSet的tableName属性。

为什么: 我们想要在管道中记录某些操作,我们有一系列报告和警报工具,可以查看此历史记录和/或缺少历史记录,目前这些是硬编码的,这将导致我们不得不通过更多内容生成它们复杂的过程或有时它们是错误的而且不容易注意到。例如,除了下面的示例,我们还调用了一个重建索引存储过程,它采用了一个表名,我可以将活动从一个管道复制到另一个管道而忘记更改storedProcedureParameter,

        {
            "type": "SqlServerStoredProcedure",
            "typeProperties": {
                "storedProcedureName": "LogDataMovement",
                "storedProcedureParameters": {
                    "sliceStart": "$$Text.Format('{0:yyyy-MM-dd HH:mm}', SliceStart)",
                    "movementType": "Blob->Sql",
                    "source": "$$Text.Format('{0}/scored/{1:yyyy}/{1:MM}/{1:dd}/ActivityMetrics_NameAndResult_AD_Scored_{1:yyyy}_{1:MM}_{1:dd}.tsv', PipelineName, SliceStart)",
                    "destination":"OTEL_ActivityMetrics_NameAndResult_Scored",
                    "pipeline": "ActivityMetricsNameAndResult_AzureSQL"
                }
            },
            "inputs": [
                {
                    "name": "DS_ASQL_ActivityNameAndResult_AD_Scores"
                }
            ],
            "outputs": [
                {
                    "name": "DS_SQL_DataMovement_NameAndResult_Scored"
                }
            ],
            "scheduler": {
                "frequency": "Day",
                "interval": 1
            },
            "name": "Log Data Movement"
        },

1 个答案:

答案 0 :(得分:0)

今天,Azure数据工厂系统和函数变量是管道内唯一可访问的内容。您无法访问管道名称并将其作为变量传递。我们正在努力在ADF中发展应用程序模型以支持此类构造。随着我们取得更多进展并获得更新,我们将更新社区。