This video explains how to use custom parameter definition files in Azure Synapse Analytics to customize the ARM templates generated for CI/CD pipelines, enabling more flexible deployments across different environments.
Mind Map
คลิกเพื่อขยาย
คลิกเพื่อสำรวจ Mind Map แบบอินเตอร์แอคทีฟฉบับเต็ม
[Music]
Hello Synaps CI/CD fans. My name is Huna
and I'm a support escalation engineer on
the Azure Synapse Analytics team.
Welcome to this video series on Synapse CI/CD.
CI/CD.
In today's video, we will be talking
about custom parameterization of ARM
templates in your Synapse workspace and
how this parameterization can impact
your CI/CD workflow for these artifacts.
One of the advantages of having your
Synapse workspace integrated with Git is
to generate these ARM templates
containing all your workspace artifact properties.
properties.
These templates will be required in
scenarios where you need to deploy these
artifacts to a different environment or
in disaster recovery scenarios where you
need to recover all your workspace artifacts.
artifacts.
By default, these ARM templates are
generated based on the workspace default
or built-in parameter template. However,
when this default template is not
generating all the artifact properties
that you need, you are required to use
your own or custom parameter template.
And this next demo will show you how you
can achieve this. Here's my workspace,
my dev environment, and I want to deploy
my workspace artifacts to my UAT environment.
environment.
When you publish your changes from your
collaboration branch in your dev
environment, the publishing operation
will persist your pending changes to
live mode and then it will start
generating the ARM templates.
These ARM templates will be generated
based on the built-in and default
workspace template. This template will
expose only the necessary
properties or parameters for you to
deploy your artifacts to a target
environment. For example, if you go here
to the workspace publish where these ARM
templates are saved and you hit the
template parameters for workspace, you
will see here all the properties being
exposed by the default template. And
these properties of course they will
depend on the number of artifacts that
you have in your workspace. I have only
a linkage service here, a custom linkage
service. So the URL property is being
exposed for any link service. The
connection string is also a property
that is being exposed to this default
link service. We know that at least
these properties are being exposed and
you by the default um parameters template.
template.
You have other artifacts, other
properties that you would like to to
expose. For example, if you go to your notebooks,
notebooks,
you will see
here this reference name.
This notebook is using my spark pool. In
my dev environment, I have a single
spark pool. But in my UAT environment,
I have a couple of spark pools. And in
this workspace, I would like to my
notebooks to run using this UAT spark
pool. Here is a scenario where you need
to override your notebook
here. So you need to expose this
reference name property.
So you can override this spark pool
name. But this reference name property
is not being exposed by default by your
u default uh template. How you can
expose these properties that are not
being exposed by the default template?
So you need to use the custom parameters
template. So I'm here referencing the
Microsoft official docs and for you to
create this
template definition
file you need to pick this name and this
must be the exact naming that you will
provide to your file.
And what I'm going to do here, I'm going
to rename these files and call it default.
And what you need to do is to go to your
collaboration branch and in the root
root folder you need to create this file
with this exact name template parameters definition.json