【问题标题】:ARM Template deployment does not remove old pipelinesARM 模板部署不会删除旧管道
【发布时间】:2020-02-06 18:54:01
【问题描述】:

我正在使用 ARM 模板部署我的数据工厂。当我删除管道时,旧版本不会从目标环境中删除。重命名也会发生同样的情况,然后我的目标环境包含一个带有旧名称的管道和一个带有新名称的管道。

如何使用 ARM 模板部署删除旧管道?

注意:我只想删除数据工厂内部的孤立管道,而不是清除整个数据工厂。

【问题讨论】:

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


    【解决方案1】:

    我遇到了同样的问题,并遵循了 Neil P 的建议,并考虑创建一个部署后脚本来删除这些项目。我已经在使用基于 arm 模板的 CI,所以这扩展了我原来的 CI。

    在撰写本文时,Microsoft 的 power-shell 脚本确实适用于 ADF V2。

    老实说,现在的方法有点复杂。我必须设置两个分支工件。一个查看 adf_publish,一个查看 master。 adf_publish 触发发布管道,master 处理 powershell 脚本。

    然后,我在我的主分支上的 repo 中创建了一个部署 powershell 脚本 .

    在那之后,我更新了发布管道以在资源更新后包含 powershell 脚本。请注意,我必须直接引用 ARMTemplateForFactory.json 才能使脚本正常工作。

    一切都按预期工作,下游 QA 版本已正确更新并删除了过时的管道等。

    【讨论】:

    • 我对此解决方案有后续评论 - 如果您正在使用的资源被锁定以防删除,它将无法工作。为了使用它,我必须让我的管理团队允许删除资源锁定,使用 CI 更新,然后重新锁定。这就是他们保护生产资产的方式,所以这是有道理的,但不会简化部署。
    【解决方案2】:

    我遇到了同样的问题,并通过利用市场中名为 Azure Data Factory 的扩展程序解决了它。其中包含各种任务,其中一项称为“Azure 数据工厂删除项目”。我在执行 Microsoft 的 ARM 模板任务之前使用它,最终我留下了一个不包含孤立管道/数据集/linked_services/等的数据工厂管道。

    【讨论】:

      【解决方案3】:

      要删除数据工厂内部的管道,需要运行微软here发布的脚本。

      请注意,这需要使用新的 Azure“Az”powershell 模块,如果您使用的是 Azure DevOps,则需要使用预览版 V4 powershell 任务。

      【讨论】:

      • 您能否详细说明部署前和部署后脚本之间的区别?从官方文档看不是很清楚。
      猜你喜欢
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 2021-07-28
      • 2016-10-18
      相关资源
      最近更新 更多