我找到了这个文档,Azure数据工厂-函数和系统变量,但是它没有显示我如何访问其他项目。例如管道的名称,以便我可以将其作为属性值传递,例如在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"
},
现在Azure数据工厂系统和函数变量是唯一可以在管道中访问的东西。您不能访问管道名称并将其作为变量传递。我们正在努力改进ADF中的应用模型,以支持这些结构。当我们取得更多进展并发布这些更新时,我们将保持社区更新。