【问题标题】:ADF deployment without making changes on trigger status无需更改触发器状态的 ADF 部署
【发布时间】:2021-01-27 12:32:51
【问题描述】:

我正在 Azure 数据工厂上做 CI/CD。

我确实有 Azure 数据工厂的 DEV 实例和 PROD 实例。

除了触发器有一个问题外,部署过程进展顺利。

我确实有大约 20 个触发器,其中 15 个处于运行状态,5 个在 PROD 中停止一段时间。

由于 DEV ADF 是一个开发实例,我不想在开发实例中按计划运行任何触发器,所有触发器的状态都设置为已停止。

目前从 DEV 到 PROD 部署的触发状态变化是通过替换 ARM 模板 json 文件中的字符串 '"runtimeState": "Stopped"', '"runtimeState": "Started"' .

但这将在部署后启动生产中的所有触发器以及停止一段时间的 5 个触发器。

有什么方法可以取消在PROD中部署时的触发器状态,只将新创建的触发器添加到PROD中而不接触PROD中现有的触发器?

【问题讨论】:

  • Start-AzDataFactoryV2Trigger支持指定TriggerName,你可以启动你想要的触发器:Start-AzDataFactoryV2Trigger -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -TriggerName "ScheduledTrigger"。

标签: azure-data-factory azure-data-factory-2


【解决方案1】:

您可以添加一个 Azure PowerShell 任务来执行此活动。

您可以编写一个 PowerShell 脚本来启动/停止触发器并将其放置在相关管道中。

在以下情况下,我在部署之前已经停止了所有触发器,您可以通过 PowerShell 添加 Pre 或 Post 部署步骤来实现这一点。

【讨论】:

  • 是的!我正在使用 Microsoft 提供的此脚本来停止和启动触发器。但是我们应该如何编辑这个脚本,以便在部署时保持 PROD 中触发器的状态不变?
  • 据我了解,上述脚本将停止所有活动触发器,部署后脚本将启动这些触发器。
  • 我的要求有点不同,正如我在问题中提到的那样。
  • 好的,那么我建议您从 ARM 模板中删除您不想更改的触发器的触发器定义,因为我认为这是唯一可行的方法,在这种情况下您每次都必须为 Dev / Prod 更改您的 ARM 模板
猜你喜欢
  • 2021-06-09
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
  • 2014-07-12
相关资源
最近更新 更多