【问题标题】:Publish button on Azure Synapse using code使用代码在 Azure Synapse 上发布按钮
【发布时间】:2022-07-05 17:33:10
【问题描述】:

大家好,我目前正在使用 Azure Synapse 工作室。我的情况可以这样描述:

我有 3 个环境:Dev、Test 和 Prod,它们每个都有一个 Azure 突触工作区,但我只能访问 Dev 一个。我还需要从 Dev 对其他 2 个环境(sql 脚本、管道等)进行一些更改,然后将它们发布到其他环境而不接触它们。 所以我认为 Azure DevOps 可以成为解决方案。 我从 Dev Syanapse 工作室工作区创建了 3 个分支,每个 env 1 个,它们都链接到 Azure DevOps 存储库。 Test 和 Prod 也链接到同一个 repo。 问题是 Test 和 Prod 工作区上的代码可能与 Dev 上的代码不同。所以我不能对所有 3 个环境使用相同的 ARM 模板(通过在工作区的发布分支上发布生成)。一个好方法可能是找到一种在不使用门户的情况下也可以在其他环境上点击publish button 的方法,例如通过 REST API?有可能吗?

现在我只设置了 3 个分支解决方案,因此我可以直接从 Dev env 中 magae 3 env,但我认为这不是正确的解决方案,是否对其他 env 应用了更改?我可以从其他环境手动运行 SQL 脚本或管道吗? This is my current situation 在其他 envs 上我要求设置协作并使用与 env 分支名称相同的值发布分支(test-test-test 和 prod-prod-prod)

【问题讨论】:

    标签: azure azure-devops publish azure-synapse


    【解决方案1】:

    我直接与 Microsoft 合作,我自己为一家大公司建立了 Synapse 仓库。我们有同样的问题,因为必须手动按下发布按钮才能生成 ARM 模板。 Microsoft 已确认目前没有可用的自动方法;我们本希望在本月收到一个预览 AzDevOps 部署任务,但结果证明它只是让我们验证 JSON 资产 - 它仍然使用 ARM 模板进行部署。

    我们还研究了使用 Azure 数据工厂工具从 JSON 组件文件进行部署,但我们遇到了不支持专用池存储过程任务的问题。 :(

    【讨论】:

      【解决方案2】:

      实现此目的的唯一标准选项是创建 GitHub 存储库,然后创建持续集成并创建自托管 Azure DevOps VM 代理或使用 Azure DevOps 托管代理。

      然后,您可以在 Azure DevOps 中设置发布管道以适应不同的环境。但是您仍然需要在每个环境的 GitHub 存储库中提交更改,没有可用的发布按钮类型。

      更多详情请参考Continuous integration and delivery for an Azure Synapse Analytics workspace

      【讨论】:

      • 这个解决方案的问题是我无法生成更新的 ARM 模板,因为 Syanpse Studio 只能通过在其发布分支上发布来实现,每个 Env 可能只有一个。我只能用于开发,但不能用于测试和生产
      【解决方案3】:

      使用新版本 (V2) 的 Synapse 工作区部署(预览版 2022-06),现在可以使用 Azure Devops 从任何分支进行部署,因此无需 workspace_publish 分支或发布按钮。

      只需将对象 json 文件作为工件提供给发布管道,然后选择“验证和部署”作为操作类型。

      【讨论】:

        猜你喜欢
        • 2023-02-14
        • 2022-01-18
        • 2021-12-22
        • 2022-01-19
        • 1970-01-01
        • 2021-07-11
        • 2021-09-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多