Azure Synapse工作区:脚本在哪里发布?

6psbrbz9  于 2023-08-07  发布在  其他
关注(0)|答案(3)|浏览(116)

Azure Synapse工作区中,有两个用于发布内容的选项(下面以红色显示)。问题:内容/脚本发布在哪里,发布后我们如何访问它们?
x1c 0d1x的数据

dxxyhpgq

dxxyhpgq1#

我发现这是Synapse中比较令人困惑的主题之一。它还适用于Azure数据工厂(ADF)。对您的问题的简短回答是,它将被发布到Live Synapse服务。较长的版本如下。
Azure Synapse有两种模式:Synapse Live和(可选)Git已连接。

实时模式

实时模式是“生产”版本。它包含了用户可以访问的所有工件(脚本、笔记本、管道和其他)(假设有适当的安全性等)。它也是可以在外部执行的工件的表面,如管道。当您在外部执行管道时(比如从Logic App),执行的是Live版本。[同样,在ADF中也是如此]
无论您是直接在工作区中工作(如图所示),还是在Git分支中工作(下面将详细介绍),您都可以将其视为“开发”版本。“发布”将工件从开发提升到生产。
在Live模式下,保存工件的唯一方法是Publish,因此在某种程度上,您直接在Production中工作:您保存的版本始终是已发布的版本。对于任何涉及团队的真实的工作来说,这可能会很麻烦。强烈建议您将工作区连接到Git存储库。

Git模式

当您的工作空间连接到Git时,您将在一个分支中工作。默认情况下,这很可能是“主”分支。主分支是您的 Backbone.js ,您只能从主分支发布。但是你可以在main中工作很长时间而不需要发布,所以它真的变成了一个真正的开发环境。
在Git模式下,提交(保存)对Git分支的工件更改。在将来的某个时候,当您准备好将工件移动到生产环境中时,您将发布main。在这种情况下,发布会更新Git中一个单独的分支,通常名为“adf_publish”。这是一个你基本上不应该接触或尝试直接工作的分支,因为我很肯定它包含一些Synapse特定的项目。“这是我个人的愿望清单项目,可以在主页更新时自动发布。”
一些Git建议:如果你有一个团队的人(意味着超过1个)在工作区中工作,你应该设置你的Git仓库禁止提交到main。其实,就算是你,我也会这么做。每个人应该始终从不同的分支工作,并使用Pull Requests将代码合并回main。我可以告诉你,从经验,多人直接在主要工作,使它有可能搞砸了你的回购点,它不会发布,这是没有乐趣的纠正。

返回实时模式

即使您连接了Git,Live模式仍然存在。您始终可以从下拉菜单中切换回该选项。当您这样做时,它就像一个保护模式,因为虽然您可以编写和执行脚本和笔记本,但您不能将它们保存到工作区。您也可以让使用者只能在“即时”模式下作业,因此他们是使用者,而不是建立者。在Live模式下,您将无法查看Git仓库或分支,也无法与之交互。当您准备再次编辑时,可以使用下拉菜单轻松返回到Git模式。

af7jpaap

af7jpaap2#

Azure Synapse Analytics支持两种开发模式:

*Synapse实时开发:用户在Synapse Studio中开发/调试代码,然后发布代码以保存/执行代码。Synapse Studio作者直接针对Synapse服务。
*Git开发:用户在Synapse Studio中开发/调试代码,并将更改提交到Git存储库的工作分支。用户可以在Synapse工作区中连接Azure DevOps或GitHub git存储库。

联系方式:

bnlyeluc

bnlyeluc3#

正如大家所提到的,Synapse部署过程应该同时考虑Live和Git模式。从DevOps的Angular 来看,我们建议执行以下步骤:

  • 开发人员工作区(启用Git):
  • 开发人员应使用此工作区对各种组件(如链接服务、管道、笔记本等)进行更改。
  • 开发人员所做的所有更改都将保存在源代码控制(Git)中。
  • 发布:
  • 在Synapse工作区配置Git时,选择【协作】分支。此分支将用于将开发人员所做的所有更改合并到一个统一的分支中。
  • 在Collaboration分支中,您可以手动触发更改的发布。但是,为了提高效率,可以考虑通过向管道添加其他任务来自动化此过程。Synapse将验证Collaboration分支中的所有更改,并在'Workspace_publish'分支中生成ARM模板。(注意:如果需要,可以更改默认名称。)
  • 非开发工作区(实时模式):
  • 在这种模式下,您不应该配置Git。
  • 使用在发布步骤中生成的ARM模板,并将其部署到处于实时模式(UAT/Prod)的目标工作区。
  • 部署前,根据目标环境要求更新Arm_parameter.json文件中的值。
  • 部署ARM模板,它将把在Dev工作区的Collaboration分支中所做的更改同步到UAT/Prod工作区。

通过遵循此过程,您可以确保从开发人员工作区到非开发人员工作区的更改的平稳和受控部署,从而避免生产环境中的任何不必要的中断。

相关问题