Compartir a través de

Azure 数据工厂和 Azure Synapse Analytics 支持的系统变量

适用于:Azure 数据工厂 Azure Synapse Analytics

本文介绍了 Azure 数据工厂和 Azure Synapse 支持的系统变量。 在两个服务中定义实体时,可以在表达式中使用这些变量。

管道范围

可以在管道 JSON 中的任何位置引用这些系统变量。

变量名 说明
@pipeline().DataFactory 在其中运行管道运行的数据工厂或 Synapse 工作区的名称
@pipeline().Pipeline 管道的名称
@pipeline().RunId 特定管道运行的 ID
@pipeline().TriggerType 调用了该管道的触发器的类型(例如 ScheduleTriggerBlobEventsTrigger)。 有关支持的触发器类型列表,请参阅管道执行和触发器。 触发器类型为 Manual 表示管道是手动触发的。
@pipeline().TriggerId 调用了管道的触发器的 ID
@pipeline().TriggerName 调用了管道的触发器的名称
@pipeline().TriggerTime 触发器运行调用管道的时间。 这是触发器实际触发以调用管道运行的时间,它可能与触发器的计划时间略有不同。
@pipeline().GroupId 管道运行所属组的 ID。
@pipeline()?.TriggeredByPipelineName 触发管道运行的管道的名称。 当管道运行由 ExecutePipeline 活动触发时适用。 在其他环境中使用时,结果为“Null”。 注意 @pipeline() 后面的问号
@pipeline()?.TriggeredByPipelineRunId 运行触发管道运行的管道的运行 ID。 当管道运行由 ExecutePipeline 活动触发时适用。 在其他环境中使用时,结果为“Null”。 注意 @pipeline() 后面的问号

注意

与触发器相关的日期/时间系统变量(在管道和触发器作用域内)以 ISO 8601 格式返回 UTC 日期,例如 2017-06-01T22:20:00.4061448Z

计划触发器作用域

如果触发器的类型为 ScheduleTrigger,则可以在触发器 JSON 中的任何位置引用这些系统变量。

变量名 说明
@trigger().scheduledTime 触发器计划调用管道运行的时间。
@trigger().startTime 触发器实际触发以调用管道运行的时间。 这可能与触发器的计划时间略有不同。

翻转窗口触发器作用域

如果触发器的类型为 TumblingWindowTrigger,则可以在触发器 JSON 中的任何位置引用这些系统变量。

变量名 说明
@trigger().outputs.windowStartTime 与触发器运行关联的窗口的开始时间。
@trigger().outputs.windowEndTime 与触发器运行关联的窗口的结束时间。
@trigger().scheduledTime 触发器计划调用管道运行的时间。
@trigger().startTime 触发器实际触发以调用管道运行的时间。 这可能与触发器的计划时间略有不同。

存储事件触发器范围

如果触发器的类型为 BlobEventsTrigger,则可以在触发器 JSON 中的任何位置引用这些系统变量。

变量名 说明
@triggerBody().fileName 创建或删除时导致触发器触发的文件的名称。
@triggerBody().folderPath 包含 @triggerBody().fileName 指定的文件的文件夹路径。 文件夹路径的第一部分是 Azure Blob 存储容器的名称。
@trigger().startTime 触发器触发以调用管道运行的时间。

注意

如果要在 Azure Synapse Analytics 中创建管道和触发器,则必须使用 @trigger().outputs.body.fileName@trigger().outputs.body.folderPath 作为参数。 这两个属性捕获 blob 信息。 使用这些属性,而不是使用 @triggerBody().fileName@triggerBody().folderPath

自定义事件触发器范围

如果触发器的类型为 CustomEventsTrigger,则可以在触发器 JSON 中的任何位置引用这些系统变量。

注意

服务预期自定义事件的格式采用 Azure 事件网格事件架构

变量名 说明
@triggerBody().event.eventType 触发了自定义事件触发器运行的事件类型。 事件类型是客户定义的字段,可以是字符串类型的任何值。
@triggerBody().event.subject 导致触发器激发的自定义事件的主题。
@triggerBody().event.data._keyName_ 自定义事件中的数据字段不存在 JSON blob,可供客户用于发送消息和数据。 请使用 data.keyName 来引用每个字段。 例如,@triggerBody().event.data.callback 将返回存储在数据下的回调字段的值。
@trigger().startTime 触发器触发以调用管道运行的时间。