<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Factory Archives - AzureOps</title>
	<atom:link href="https://azureops.org/articles/category/azure/data-factory/feed/" rel="self" type="application/rss+xml" />
	<link>https://azureops.org/articles/category/azure/data-factory/</link>
	<description>Notable things about Cloud, Data and DevOps.</description>
	<lastBuildDate>Mon, 03 Mar 2025 09:16:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/cropped-android-chrome-512x512-1.png?fit=32%2C32&#038;ssl=1</url>
	<title>Data Factory Archives - AzureOps</title>
	<link>https://azureops.org/articles/category/azure/data-factory/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">190208641</site>	<item>
		<title>Programmatically Start and Stop Azure Data Factory Integration Runtime</title>
		<link>https://azureops.org/articles/data-factory-automation-with-managed-identity/</link>
		
		<dc:creator><![CDATA[Kunal Rathi]]></dc:creator>
		<pubDate>Thu, 08 Feb 2024 20:43:56 +0000</pubDate>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=7131</guid>

					<description><![CDATA[<p> This article describes how to perform Azure Data Factory automation with managed identity and Azure automation account.</p>
<p>The post <a href="https://azureops.org/articles/data-factory-automation-with-managed-identity/">Programmatically Start and Stop Azure Data Factory Integration Runtime</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Azure Data Factory is a Microsoft cloud ETL service for serverless data integrations and orchestrations. <a href="https://learn.microsoft.com/en-us/azure/automation/overview" target="_blank" rel="noreferrer noopener">Azure automation account</a> is a service by Microsoft to automate various management activities in Azure cloud. You can leverage an automation account if you want to start and stop Azure Data Factory SSIS runtime programmatically. This article describes how to programmatically start and stop Azure Data Factory integration runtime using managed identity and Azure automation account.</p>



<p class="has-pale-cyan-blue-background-color has-background"><strong>Pre-requisites</strong>:<br>To implement Azure Data Factory automation using Azure automation account you would need,<br>1. Azure subscription and a resource group with Azure Data Factory and Azure Automation Account.<br>2. Admin permission to grant access to Azure automation account on Azure Data Factory.</p>



<h2 class="wp-block-heading">What is Managed Identity?</h2>



<p class=""><a href="https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview" target="_blank" rel="noreferrer noopener">Managed identity&nbsp;</a>is a&nbsp;<a href="https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals" target="_blank" rel="noreferrer noopener">service principal</a>&nbsp;associated with resources in Azure. When we create a Data Factory in Azure, it automatically creates an app in Microsoft Entra ID (Azure active directory).To connect Azure Data Factory from Azure automation account, we need to grant Azure automation account&#8217;s system-assigned managed identity access to the Azure Data Factory. This makes access management more secure and easy.</p>



<h3 class="wp-block-heading">Benefits of using managed identity authentication</h3>



<p class="">1. You don’t need to manage credentials.<br>2. You can use managed identities to authenticate to any resource that supports Entra ID authentication, including your applications.<br>3. Managed identities can be used at no extra cost.</p>



<h3 class="wp-block-heading">Types of managed identities</h3>



<p class="">There are two types of managed identities:<br>1. System assigned managed identity – This is the identity that is associated with Azure resources like Azure automation account.<br>2. User-assigned managed identity – This identity is created and managed by the user in Azure portal. Learn more about it&nbsp;<a href="https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp" target="_blank" rel="noreferrer noopener">here</a>.</p>



<p class="">Let us now see how the system-assigned managed identity of Azure automation account can be used to connect and manage Azure Data Factory integration runtime.</p>



<h2 class="wp-block-heading">Enable the System assigned managed identity for Azure automation account</h2>



<p class="">1. Navigate to Azure automation account resource in Azure <a href="https://portal.azure.com/">portal</a>. </p>



<p class="">2. Click &#8216;Identity&#8217; under &#8216;Account Settings&#8217; as shown in the image below. </p>



<p class="">3. Under the System assigned tab, enable Status and click Save.</p>



<figure class="wp-block-image size-large is-resized"><a href="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?ssl=1"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="1200" height="625" data-attachment-id="7134" data-permalink="https://azureops.org/articles/data-factory-automation-with-managed-identity/enable-managed-identity-in-azure-automation-account/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?fit=1303%2C679&amp;ssl=1" data-orig-size="1303,679" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Enable-managed-identity-in-Azure-automation-account" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?fit=1200%2C625&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=1200%2C625&#038;ssl=1" alt="Enable managed identity of Azure automation account." class="wp-image-7134" style="width:936px;height:auto" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=1200%2C625&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=300%2C156&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=1190%2C620&amp;ssl=1 1190w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=768%2C400&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=450%2C234&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?resize=600%2C313&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Enable-managed-identity-in-Azure-automation-account.png?w=1303&amp;ssl=1 1303w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h2 class="wp-block-heading">Grant access to Azure automation account on Azure Data Factory </h2>



<p class="">1. Navigate to Data Factory resource in Azure portal and Click on Access control (IAM).  Click Add -&gt; Add role assignment as shown in the image below.</p>



<figure class="wp-block-image size-large is-resized"><a href="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?ssl=1"><img data-recalc-dims="1" decoding="async" width="1200" height="366" data-attachment-id="7156" data-permalink="https://azureops.org/articles/data-factory-automation-with-managed-identity/add-iam-of-azure-data-factory/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?fit=1256%2C383&amp;ssl=1" data-orig-size="1256,383" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Add-IAM-of-Azure-data-factory" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?fit=1200%2C366&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?resize=1200%2C366&#038;ssl=1" alt="programmatically start and stop Azure Data Factory integration runtime " class="wp-image-7156" style="width:992px;height:auto" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?resize=1200%2C366&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?resize=300%2C91&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?resize=768%2C234&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?resize=450%2C137&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?resize=600%2C183&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Add-IAM-of-Azure-data-factory.png?w=1256&amp;ssl=1 1256w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<p class="">2. Grant sufficient role to Azure automation account resource on Data Factory resource under the Role tab. Job function role &#8211; &#8216;Data Factory Contributor&#8217; should be sufficient to perform management activities on Data Factory.</p>



<figure class="wp-block-image size-full"><a href="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="924" height="453" data-attachment-id="7157" data-permalink="https://azureops.org/articles/data-factory-automation-with-managed-identity/select-role-in-azure-data-factory-iam/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?fit=924%2C453&amp;ssl=1" data-orig-size="924,453" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Select-role-in-Azure-data-factory-IAM" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?fit=924%2C453&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?resize=924%2C453&#038;ssl=1" alt="" class="wp-image-7157" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?w=924&amp;ssl=1 924w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?resize=300%2C147&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?resize=768%2C377&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?resize=450%2C221&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Select-role-in-Azure-data-factory-IAM.png?resize=600%2C294&amp;ssl=1 600w" sizes="(max-width: 924px) 100vw, 924px" /></a></figure>



<p class="">3. Under the Members tab, select &#8216;Managed Identity&#8217;. Search for the managed identity of Azure automation account to whom you want to grant access.</p>



<figure class="wp-block-image size-large is-resized"><a href="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="451" data-attachment-id="7155" data-permalink="https://azureops.org/articles/data-factory-automation-with-managed-identity/grant-access-to-azure-automation-account-on-azure-data-factory-1/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?fit=1864%2C701&amp;ssl=1" data-orig-size="1864,701" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Grant-access-to-Azure-automation-account-on-Azure-data-factory-1" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?fit=1200%2C451&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=1200%2C451&#038;ssl=1" alt="programmatically start and stop Azure Data Factory integration runtime " class="wp-image-7155" style="width:1074px;height:auto" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=1200%2C451&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=300%2C113&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=768%2C289&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=1536%2C578&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=450%2C169&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?resize=600%2C226&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Grant-access-to-Azure-automation-account-on-Azure-data-factory-1.png?w=1864&amp;ssl=1 1864w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h2 class="wp-block-heading">Start And Stop Azure Data Factory IR using PowerShell runbook</h2>



<p class="">1.  Import Azure Az PowerShell modules in automation account. Under the automation account resource, navigate to &#8216;Shared resources&#8217; -> &#8216;Modules&#8217;.</p>



<p class="">2. Create &#8216;datafactory-name&#8217; and &#8216;resourcegroup-name&#8217; variables in the automation account and assign appropriate values to them.</p>



<figure class="wp-block-image size-large"><a href="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="362" data-attachment-id="8102" data-permalink="https://azureops.org/articles/data-factory-automation-with-managed-identity/create-variables-in-azure-automation-account/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?fit=1374%2C415&amp;ssl=1" data-orig-size="1374,415" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Create variables in Azure automation account" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?fit=1200%2C362&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?resize=1200%2C362&#038;ssl=1" alt="" class="wp-image-8102" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?resize=1200%2C362&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?resize=300%2C91&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?resize=768%2C232&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?resize=450%2C136&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?resize=600%2C181&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2024/02/Create-variables-in-Azure-automation-account.png?w=1374&amp;ssl=1 1374w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<p class="">3. Navigate to &#8216;Process Automation&#8217; left side section under Azure automation account and click &#8216;Runbooks&#8217; . Create a new PowerShell runbook and provide necessary details.</p>



<p class="">4. You can use the code below to connect and stop/start Integration runtime in Azure Data Factory.</p>



<h4 class="wp-block-heading">Stop ADF integration runtime</h4>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; title: ; notranslate">
# Retrieve Automation Variables
$DataFactoryName = Get-AzAutomationVariable -Name &#039;datafactory-name&#039;
$ResourceGroup = Get-AzAutomationVariable -Name &#039;resourcegroup-name&#039;

# Authenticate to Azure
Connect-AzAccount

# Get Integration Runtime in Azure Data Factory
$IntegrationRuntime = Get-AzDataFactoryV2IntegrationRuntime `
                            -DataFactoryName $DataFactoryName `
                            -ResourceGroupName $ResourceGroup

# Check the current status of the Integration Runtime
$IRStatus = $IntegrationRuntime.Status
Write-Output &quot;Current Integration Runtime Status: $IRStatus&quot;

# Stop the Integration Runtime if it is running
if ($IRStatus -eq &#039;Online&#039;) {
    Stop-AzDataFactoryV2IntegrationRuntime `
        -DataFactoryName $DataFactoryName `
        -ResourceGroupName $ResourceGroup `
        -Name $IntegrationRuntime.Name

    Write-Output &quot;Integration Runtime &#039;$($IntegrationRuntime.Name)&#039; has been stopped.&quot;
} else {
    Write-Output &quot;Integration Runtime &#039;$($IntegrationRuntime.Name)&#039; is already stopped or in a state that cannot be stopped.&quot;
}

</pre></div>


<h4 class="wp-block-heading">Start ADF integration runtime</h4>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; title: ; notranslate">
# Retrieve Automation Variables
$DataFactoryName = Get-AzAutomationVariable -Name &#039;datafactory-name&#039;
$ResourceGroup = Get-AzAutomationVariable -Name &#039;resourcegroup-name&#039;

# Authenticate to Azure
Connect-AzAccount

# Get Integration Runtime in Azure Data Factory
$IntegrationRuntime = Get-AzDataFactoryV2IntegrationRuntime `
                            -DataFactoryName $DataFactoryName `
                            -ResourceGroupName $ResourceGroup

# Check the current status of the Integration Runtime
$IRStatus = $IntegrationRuntime.Status
Write-Output &quot;Current Integration Runtime Status: $IRStatus&quot;

# Start the Integration Runtime if it is not running
if ($IRStatus -ne &#039;Online&#039;) {
    Start-AzDataFactoryV2IntegrationRuntime `
        -DataFactoryName $DataFactoryName `
        -ResourceGroupName $ResourceGroup `
        -Name $IntegrationRuntime.Name

    Write-Output &quot;Integration Runtime &#039;$($IntegrationRuntime.Name)&#039; is starting.&quot;
} else {
    Write-Output &quot;Integration Runtime &#039;$($IntegrationRuntime.Name)&#039; is already running.&quot;
}

</pre></div>


<p class="">Notice in the above code blocks that we have not used any credentials to authenticate to Azure. This is because authentication is taken care of using managed identity. </p>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. <a href="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/" target="_blank" rel="noreferrer noopener">Learn </a>how to connect to Azure SQL from Azure Data Factory using managed identity.<br>2. Azure Automation Run as accounts, including Classic Run as accounts have retired on&nbsp;30 September 2023. It is now mandatory to use the managed identity.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>



<p class="">&nbsp;&nbsp;&nbsp;&nbsp;</p>



<p class=""></p>
<p>The post <a href="https://azureops.org/articles/data-factory-automation-with-managed-identity/">Programmatically Start and Stop Azure Data Factory Integration Runtime</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7131</post-id>	</item>
		<item>
		<title>Disable and Enable triggers in Azure Data Factory using PowerShell</title>
		<link>https://azureops.org/articles/disable-and-enable-triggers-in-azure-data-factory/</link>
		
		<dc:creator><![CDATA[Kunal Rathi]]></dc:creator>
		<pubDate>Mon, 31 Jul 2023 19:59:29 +0000</pubDate>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[azure data factory ci/cd]]></category>
		<category><![CDATA[azure data factory triggers]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=6310</guid>

					<description><![CDATA[<p>This article will provide step-by-step instructions to enable and disable triggers in Azure Data Factory using PowerShell.</p>
<p>The post <a href="https://azureops.org/articles/disable-and-enable-triggers-in-azure-data-factory/">Disable and Enable triggers in Azure Data Factory using PowerShell</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Companies depend on efficient data processing and management systems to make informed decisions in the fast-moving business world. <a href="https://learn.microsoft.com/en-us/azure/data-factory/introduction" target="_blank" rel="noreferrer noopener">Azure Data Factory</a> (ADF) is a highly effective cloud-based data integration service that allows organizations to orchestrate and automate data workflows easily. One of the critical features of ADF is the ability to activate and deactivate triggers, which are essential for controlling the execution of data pipelines and factory maintenance. This article will provide step-by-step instructions to enable and disable triggers in Azure Data Factory.</p>



<p class="has-pale-cyan-blue-background-color has-background"><strong>Pre-requisites:</strong><br>1. Access to Data Factory resources in the Azure portal.<br>2. Az PowerShell&nbsp;<a href="https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-7.1.0" target="_blank" rel="noreferrer noopener">module</a>&nbsp;installed on the local machine.</p>



<h2 class="wp-block-heading">Understanding Azure Data Factory Triggers</h2>



<p class="">Azure Data Factory utilizes triggers to initiate data pipeline executions based on specific conditions automatically. These conditions can be set on a schedule, event, or through manual intervention. Triggers play a crucial role in ensuring that data pipelines run at the correct time, keeping data processing up-to-date and accurate. Turning triggers on-demand on and off gives data engineers the flexibility to control the data flow efficiently.</p>



<h2 class="wp-block-heading">Script to disable and enable triggers in Azure Data Factory</h2>



<p class="">Use the below PowerShell script to disable all the triggers in Azure Data Factory.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; gutter: false; title: ; notranslate">
$adf_name = &#039;adfname&#039;
$resourcegroup_name = &#039;resourcegroupname&#039;

$triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $adf_name -ResourceGroupName $resourcegroup_name; 
$triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $resourcegroup_name -DataFactoryName $adf_name -Name $_.name -Force }
</pre></div>


<p class="">Use the below PowerShell script to enable all the triggers in Azure Data Factory.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; gutter: false; title: ; notranslate">
$adf_name = &#039;adfname&#039;
$resourcegroup_name = &#039;resourcegroupname&#039;

$triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $adf_name -ResourceGroupName $resourcegroup_name; 
$triggersADF | ForEach-Object { Start-AzDataFactoryV2Trigger -ResourceGroupName $resourcegroup_name -DataFactoryName $adf_name -Name $_.name -Force }
</pre></div>


<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h2 class="wp-block-heading">Manage ADF triggers in YAML based Azure DevOps pipeline</h2>



<p class="">Use the script below to enable and disable triggers in adf using a YAML-based]deployment pipeline in Azure DevOps.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; gutter: false; title: ; notranslate">
          deploy:  #Configure steps under deploy hook.
            steps:
              #task to disable triggers in Azure Data Factory.
              - task: AzurePowerShell@5     
                displayName: Stop Triggers
                inputs:
                  azureSubscription: &#039;subscriptionname&#039;
                  ScriptType: &#039;InlineScript&#039;
                  Inline: |
                    $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName &quot;$(dataFactoryName)&quot; -ResourceGroupName &quot;$(resourceGroup)&quot;; 
                    $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName &quot;$(resourceGroup)&quot; -DataFactoryName &quot;$(dataFactoryName)&quot; -Name $_.name -Force }
                  azurePowerShellVersion: &#039;LatestVersion&#039;             
             
              #task to enable triggers in Azure Data Factory.
              - task: AzurePowerShell@5    
                displayName: Start Triggers
                inputs:
                  azureSubscription: &#039;subscriptionname&#039;
                  ScriptType: &#039;InlineScript&#039;
                  Inline: |
                    $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName &quot;$(dataFactoryName)&quot; -ResourceGroupName &quot;$(resourceGroup)&quot;;
                    $triggersADF | ForEach-Object { Start-AzDataFactoryV2Trigger -ResourceGroupName &quot;$(resourceGroup)&quot; -DataFactoryName &quot;$(dataFactoryName)&quot; -Name $_.name -Force }
                  azurePowerShellVersion: &#039;LatestVersion&#039;

</pre></div>


<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. It is important to disable triggers before deploying data factory code using Azure DevOps pipelines. Refer to <a href="https://azureops.org/articles/automated-azure-data-factory-publish/" target="_blank" rel="noreferrer noopener">this</a> article if you want to automate Azure data factory deployments using the DevOps pipeline.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/disable-and-enable-triggers-in-azure-data-factory/">Disable and Enable triggers in Azure Data Factory using PowerShell</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6310</post-id>	</item>
		<item>
		<title>Activate and Deactivate Activity in Azure Data Factory</title>
		<link>https://azureops.org/articles/disable-activity-in-azure-data-factory/</link>
		
		<dc:creator><![CDATA[Pavan Bangad]]></dc:creator>
		<pubDate>Thu, 29 Jun 2023 19:59:51 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[ADF Activity]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=6172</guid>

					<description><![CDATA[<p>Microsoft recently introduced a feature in ADF to disable activity. This article describes how to disable activity in Azure Data Factory.</p>
<p>The post <a href="https://azureops.org/articles/disable-activity-in-azure-data-factory/">Activate and Deactivate Activity in Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Azure Data Factory is an ETL and orchestrator tool for building cloud-native data engineering pipelines. It has a lot of source connectors available, and this list is overgrowing.&nbsp;There are numerous activities available to manipulate and work with your data. This article describes how to activate and deactivate activity in Azure Data Factory.</p>



<h2 class="wp-block-heading">Background</h2>



<p class="">When working with ETL or orchestration tools, it is crucial to have the ability to enable or disable tasks or activities within a pipeline for various reasons. Firstly, it allows one to disable specific activities while debugging the code temporarily. Secondly, it enables running only a portion of the code to accomplish specific tasks.</p>



<p class="">Microsoft recently announced that they are adding a feature to enable and disable activity in Azure Data Factory. This feature is in the preview currently. </p>



<h2 class="wp-block-heading">How to disable activity in ADF?</h2>



<p class="">1. <a href="https://adf.azure.com/en/" target="_blank" rel="noreferrer noopener">Open</a> Azure data factory studio and navigate to the pipeline.</p>



<p class="">2. Select the activity which you want to disable, and under the general property window, set the <strong>Activity state</strong> radio button to inactive, as shown in the image below.</p>



<figure class="is-resized wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1000" height="796" data-attachment-id="6188" data-permalink="https://azureops.org/articles/disable-activity-in-azure-data-factory/image-4-3/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?fit=1000%2C796&amp;ssl=1" data-orig-size="1000,796" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-4" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?fit=1000%2C796&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?resize=1000%2C796&#038;ssl=1" alt="how to activate and deactivate activity in Azure Data Factory." class="wp-image-6188" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?w=1000&amp;ssl=1 1000w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?resize=450%2C358&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?resize=600%2C478&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?resize=300%2C239&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?resize=779%2C620&amp;ssl=1 779w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image-4.png?resize=768%2C611&amp;ssl=1 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="">You can also deactivate the activity with a right click on the activity and click on Deactivate (preview) as shown in the below image. Make sure to save the changes to take them into effect.</p>



<figure class="wp-block-image size-full is-resized"><a href="https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?ssl=1"><img data-recalc-dims="1" loading="lazy" decoding="async" width="457" height="378" data-attachment-id="6395" data-permalink="https://azureops.org/articles/disable-activity-in-azure-data-factory/image-1-8/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?fit=457%2C378&amp;ssl=1" data-orig-size="457,378" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image-1" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?fit=457%2C378&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?resize=457%2C378&#038;ssl=1" alt="" class="wp-image-6395" style="width:343px;height:284px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?w=457&amp;ssl=1 457w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?resize=300%2C248&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/08/image-1.png?resize=450%2C372&amp;ssl=1 450w" sizes="(max-width: 457px) 100vw, 457px" /></a></figure>



<p class="">If you wish to run this pipeline using a trigger, you would need to publish changes.</p>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. While the activity state will help enable or disable activity in ADF, it seems to lack a feature to programmatically or conditionally enable or disable it.<br>2. <a href="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/" target="_blank" rel="noreferrer noopener">Know</a> how to connect to Azure SQL Database from Azure Data Factory using the managed identity.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>



<p class=""></p>
<p>The post <a href="https://azureops.org/articles/disable-activity-in-azure-data-factory/">Activate and Deactivate Activity in Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6172</post-id>	</item>
		<item>
		<title>Principle could not be found or this principal type is not supported</title>
		<link>https://azureops.org/articles/principle-data-factory-could-not-be-found/</link>
		
		<dc:creator><![CDATA[Kunal Rathi]]></dc:creator>
		<pubDate>Sun, 04 Jun 2023 09:06:05 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[add managed identity to azure sql]]></category>
		<category><![CDATA[Azure data factory managed identity]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=5825</guid>

					<description><![CDATA[<p>This article describes how to solve error: Principle 'Data factory' could not be found or this principal type is not supported</p>
<p>The post <a href="https://azureops.org/articles/principle-data-factory-could-not-be-found/">Principle could not be found or this principal type is not supported</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Principle could not be found or this principal type is not supported &#8211; Azure SQL Database</p>



<h2 class="wp-block-heading">Cause</h2>



<p>Azure Data Factory is missing a managed identity. This error might appear when trying to grant access to Azure Data Factory on the Azure SQL database.</p>



<h2 class="wp-block-heading">Solution</h2>



<p>System Assigned Managed identity for Azure Data Factory will be automatically created when we create it through the Azure portal or PowerShell. If you do not find the managed identity of Azure Data Factory, you can create it using the below PowerShell command. You would need the Az PowerShell&nbsp;<a href="https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-7.1.0" target="_blank" rel="noreferrer noopener">module</a>&nbsp;installed on the local machine.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; gutter: false; title: ; notranslate">
#Generate managed identity for Data Factory.
Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Name $factoryName -Location $location
</pre></div>


<p>You can also achieve this in the Azure portal. You can go to the Azure Data Factory in the Azure&nbsp;<a href="https://portal.azure.com/" target="_blank" rel="noreferrer noopener">portal</a>&nbsp;and enable the managed identity for the data factory, as shown in the image below. This will create a managed identity for the data factory in Azure Active Directory.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="983" height="547" data-attachment-id="4850" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/enable-managed-identity-for-azure-data-factory-in-azure-portal/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?fit=983%2C547&amp;ssl=1" data-orig-size="983,547" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?fit=983%2C547&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=983%2C547&amp;ssl=1" alt="Principle could not be found" class="wp-image-4850" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?w=983&amp;ssl=1 983w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=450%2C250&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=600%2C334&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=300%2C167&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=768%2C427&amp;ssl=1 768w" sizes="(max-width: 983px) 100vw, 983px" /></figure>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1.  <a href="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/" target="_blank" rel="noreferrer noopener">Learn</a> how to access Azure SQL from Azure Data Factory using the managed identity. </p>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/principle-data-factory-could-not-be-found/">Principle could not be found or this principal type is not supported</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5825</post-id>	</item>
		<item>
		<title>Connect Azure SQL from Data Factory using Managed Identity</title>
		<link>https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/</link>
		
		<dc:creator><![CDATA[Kunal Rathi]]></dc:creator>
		<pubDate>Sat, 19 Nov 2022 08:22:22 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[SQL Database]]></category>
		<category><![CDATA[add managed identity to azure sql]]></category>
		<category><![CDATA[azure data factory linked service]]></category>
		<category><![CDATA[azure sql managed identity]]></category>
		<category><![CDATA[azure sql server managed identity]]></category>
		<category><![CDATA[linked service in azure data factory]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=4206</guid>

					<description><![CDATA[<p>Azure Data Factory is a Microsoft cloud ETL service for serverless data integrations and orchestrations. It supports a lot of source and target connectors including Azure SQL database. I will describe how to connect to Azure SQL from data factory using Managed Identity.</p>
<p>The post <a href="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/">Connect Azure SQL from Data Factory using Managed Identity</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Azure Data Factory is a Microsoft cloud ETL service for serverless data integrations and orchestrations. It supports a lot of source and target connectors, including the Azure SQL database. In this article, I will describe how to connect to Azure SQL from Data Factory using managed Identity authentication.</p>



<p class="has-pale-cyan-blue-background-color has-background"><strong>Pre-requisites</strong>:<br>To implement linked service to Azure SQL database from Azure data factory, you would need:<br>1. Azure subscription and a resource group with Azure Data Factory and Azure SQL database.<br>2. Admin permission to grant access to Azure SQL database.<br>3. Allow Azure services and resources to access this server checkbox is checked on Azure SQL database. This will enable data factory to access Azure SQL database. </p>



<h2 class="wp-block-heading">What is Managed Identity?</h2>



<p class=""><a href="https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview" target="_blank" rel="noreferrer noopener">Managed identity </a>is a <a href="https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals" target="_blank" rel="noreferrer noopener">service principal</a> associated with resources in Azure. When we create a data factory in Azure, it automatically creates an app in Azure Active Directory. Suppose we want to connect Azure SQL using Azure Data Factory. In that case, we need to grant Azure Data Factory app access to the Azure SQL database like any other Azure Active Directory user. This makes access management more secure and easy. </p>



<h3 class="wp-block-heading">Benefits of using managed identity authentication</h3>



<p class="">1. You don’t need to manage credentials.&nbsp;Credentials aren’t even accessible to you.<br>2. You can use managed identities to authenticate to any resource that supports Azure AD authentication, including your own applications.<br>3. Managed identities can be used at no extra cost.</p>



<h3 class="wp-block-heading">Types of managed identities</h3>



<p class="">There are two types of managed identities:<br>1. System assigned managed identity &#8211; This is the identity that is associated with Azure resources like Azure Data Factory. <br>2. User assigned managed identity &#8211; This identity is created and managed by user in Azure portal. Learn more about it <a href="https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp" target="_blank" rel="noreferrer noopener">here</a>.</p>



<p class="">This article will cover how to grant access to Azure data factory&#8217;s system assigned managed identity on Azure SQL database.</p>



<h3 class="wp-block-heading">Enable Managed Identity on Azure Data Factory</h3>



<p class="">System Assigned Managed, identity for Azure Data Factory will be automatically created when we create it through the Azure portal or PowerShell. If you do not find the managed identity of Azure Data Factory, you can create it using the below PowerShell command. You would need the Az PowerShell <a href="https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-7.1.0" target="_blank" rel="noreferrer noopener">module</a> installed on the local machine.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; title: ; notranslate">
#Generate managed identity for Data Factory.
Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Name $factoryName -Location $location
</pre></div>


<p class="">You can also achieve this in the Azure portal. You can go to the Azure Data Factory in the Azure <a href="https://portal.azure.com/" target="_blank" rel="noreferrer noopener">portal</a> and enable the managed identity for the data factory, as shown in the image below. This will create a managed identity for the data factory in Azure Active Directory.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="983" height="547" data-attachment-id="4850" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/enable-managed-identity-for-azure-data-factory-in-azure-portal/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?fit=983%2C547&amp;ssl=1" data-orig-size="983,547" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?fit=983%2C547&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=983%2C547&#038;ssl=1" alt="Enable managed identity on Azure data factory in Azure portal" class="wp-image-4850" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?w=983&amp;ssl=1 983w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=450%2C250&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=600%2C334&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=300%2C167&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/02/Enable-Managed-Identity-For-Azure-Data-factory-in-Azure-portal.png?resize=768%2C427&amp;ssl=1 768w" sizes="(max-width: 983px) 100vw, 983px" /></figure>



<p class="has-background" style="background-color:#d2d0f0"><strong>Note:</strong> The managed identity of Azure Data Factory must be in the same Azure Entra ID tenant as the Azure SQL database server. If the managed identity is not in the same tenant, you can use a service principal with an access token instead.</p>



<h2 class="wp-block-heading">Permission to grant Azure Data Factory managed identity access to Azure SQL database</h2>



<p class="">Azure Active Directory users with admin permission on Azure SQL database can only grant access to the managed identity of Azure Data Factory. In case you do not have an Active Directory Admin account set for Azure SQL database, you can do this with the below steps.</p>



<ol class="wp-block-list">
<li class="">Navigate to Azure SQL database resource in the Azure portal and Click on Azure Active Directory under the Settings section.</li>



<li class="">Click on the <strong>Set admin</strong> button.</li>



<li class=""> Search for the Azure active directory user or security group to which you want to grant admin access.</li>



<li class="">Click Select, and this will select the admin account.</li>



<li class="">Click <strong>Save</strong> to enable the admin.</li>
</ol>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="596" data-attachment-id="4294" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/set-azure-active-directory-admin-to-azure-sql-database/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?fit=1200%2C596&amp;ssl=1" data-orig-size="1200,596" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Set-Azure-Active-Directory-admin-to-Azure-SQL-Database" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?fit=1200%2C596&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?resize=1200%2C596&#038;ssl=1" alt="Azure SQL managed identity - Set admin Active directory access to Azure SQL Server." class="wp-image-4294" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?w=1200&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?resize=450%2C224&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?resize=600%2C298&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?resize=300%2C149&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Set-Azure-Active-Directory-admin-to-Azure-SQL-Database.gif?resize=768%2C381&amp;ssl=1 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h2 class="wp-block-heading">Grant Azure Data Factory managed identity access to Azure SQL database</h2>



<p class="">Now that we have an Azure Active Directory admin account set for Azure SQL database, we can grant access to Azure Data Factory Managed Identity to Azure SQL database. You can use Azure SQL database client tools like SQL Server Management Studio 18 or Directly from Azure SQL database portal. If you want to grant permission using client tools like SSMS 18, log in to Azure SQL database using Active Active Directory &#8211; Universal with MFA and use an Azure SQL admin account.</p>



<p class="">Create a user in Azure SQL database for Azure Data Factory and grant roles to this newly created user based on your needs.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: sql; gutter: false; title: ; notranslate">
--Add Azure Data Factory managed identity as an account to Azure SQL database.
CREATE USER &#x5B;name_of_the_adf] FROM EXTERNAL PROVIDER;
--Grant appropriate role to Azure Data Factory based on your needs. 
ALTER ROLE &#x5B;db_owner] ADD MEMBER &#x5B;name_of_the_adf];
</pre></div>


<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="535" data-attachment-id="4300" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/grant-adf-access-to-azure-sql/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?fit=1666%2C743&amp;ssl=1" data-orig-size="1666,743" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Grant-adf-access-to-azure-sql" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?fit=1200%2C535&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=1200%2C535&#038;ssl=1" alt="Grant Azure Data Factory managed identity access to Azure SQL database " class="wp-image-4300" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=1200%2C535&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=450%2C201&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=600%2C268&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=300%2C134&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=768%2C343&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?resize=1536%2C685&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Grant-adf-access-to-azure-sql.png?w=1666&amp;ssl=1 1666w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<h2 class="wp-block-heading">Create a Linked service to Azure SQL Database in Azure Data Factory</h2>



<p class="">We are all set to connect Azure SQL from Data Factory using managed identity. Follow the below steps to create a linked service in Azure Data Factory for Azure SQL using managed identity authentication. </p>



<ol class="wp-block-list">
<li class="">Navigate to Azure Data Factory and Click on New Linked Service.</li>



<li class="">Search for Azure SQL Database.</li>



<li class="">Click Continue.</li>
</ol>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="591" data-attachment-id="4303" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/1-choose-azuresql-linked-service/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?fit=1908%2C939&amp;ssl=1" data-orig-size="1908,939" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="1.Choose-AzureSQL-linked-service" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?fit=1200%2C591&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=1200%2C591&#038;ssl=1" alt="linked service in azure data factory" class="wp-image-4303" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=1200%2C591&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=450%2C221&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=600%2C295&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=300%2C148&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=768%2C378&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?resize=1536%2C756&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/1.Choose-AzureSQL-linked-service.png?w=1908&amp;ssl=1 1908w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<ol class="wp-block-list">
<li class="">On the new linked service page, specify Azure subscription, Azure SQL Server name, and Database name.</li>



<li class="">In the Authentication type, select <strong>System Assigned Managed Identity.</strong></li>



<li class="">Test the connection and click on Create.</li>
</ol>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="596" data-attachment-id="4304" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/system-assigned-managed-identity/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?fit=1890%2C939&amp;ssl=1" data-orig-size="1890,939" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="System-assigned-managed-identity" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?fit=1200%2C596&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=1200%2C596&#038;ssl=1" alt="Connect Azure SQL from Data Factory using Managed Identity" class="wp-image-4304" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=1200%2C596&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=450%2C224&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=600%2C298&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=300%2C149&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=768%2C382&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?resize=1536%2C763&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/System-assigned-managed-identity.png?w=1890&amp;ssl=1 1890w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<h3 class="wp-block-heading">Retrieve Azure SQL connection string from key vault.</h3>



<p class="">Note: The key vault based connection string option is only available in legacy version of Azure SQL database Linked Service. Recommended version only has Manual connection string option instead.</p>



<p class="">If you want to use Azure key vault instead of choosing the Azure SQL database details from Azure subscription, you would need to:</p>



<p class="">1. Create a Azure key vault with a secret containing connection string of the Azure SQL database. Format of the connection string should be like below.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: csharp; gutter: false; title: ; notranslate">
Server=tcp:&lt;yourservername&gt;.database.windows.net,1433;Initial Catalog=&lt;yourdatabasename&gt;;
</pre></div>


<p class="">2. Add access policy in Azure key vault for Azure data factory. Minimum access could be &#8216;get&#8217;, &#8216;list&#8217; on secrets.</p>



<p class="">3. Now, on Data Factory linked service to Azure SQL database, you can choose Azure Key Vault instead of Connection string and choose the secret from the key vault as shown in the below image. </p>



<figure class="is-resized wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="619" height="878" data-attachment-id="5928" data-permalink="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/image-14/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?fit=619%2C878&amp;ssl=1" data-orig-size="619,878" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?fit=619%2C878&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?resize=619%2C878&#038;ssl=1" alt="Azure data factory managed identity connection to Azure SQL using key vault" class="wp-image-5928" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?w=619&amp;ssl=1 619w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?resize=450%2C638&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?resize=600%2C851&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?resize=212%2C300&amp;ssl=1 212w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/06/image.png?resize=437%2C620&amp;ssl=1 437w" sizes="(max-width: 619px) 100vw, 619px" /></figure>



<p class="">You can now use this linked service in ADF activities to perform various operations on the Azure SQL database.</p>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. If you use version control (Azure DevOps or git integration) for Azure Data Factory, you need to use a Key vault-based connection string instead of manually specifying Azure SQL database details in the linked service.<br>2. While creating a user for Azure Data Factory in Azure SQL database, if you get an error &#8216;Principal &#8221; could not be found or this principal type is not supported.&#8217;. This means Azure Data Factory does not have managed identity set. Please <a href="https://azureops.org/articles/principle-data-factory-could-not-be-found/" target="_blank" rel="noreferrer noopener nofollow">refer</a> to this article to fix it.<br>3. <a href="https://azureops.org/articles/data-factory-automation-with-managed-identity/" target="_blank" rel="noreferrer noopener">Learn </a>how to manage Azure Data Factory using Azure automation account using managed identity authentication.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/connect-azure-sql-from-data-factory-using-managed-identity/">Connect Azure SQL from Data Factory using Managed Identity</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4206</post-id>	</item>
		<item>
		<title>Shared Integration Runtime in Azure Data Factory</title>
		<link>https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/</link>
		
		<dc:creator><![CDATA[Pavan Bangad]]></dc:creator>
		<pubDate>Fri, 27 May 2022 20:55:25 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[adf integration runtime]]></category>
		<category><![CDATA[Azure Data Factory Integration runtime]]></category>
		<category><![CDATA[data factory integration runtime]]></category>
		<category><![CDATA[integration runtime in adf]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=2316</guid>

					<description><![CDATA[<p>Azure Data Factory uses Integration Runtimes as a compute infrastructure to execute data movement and data transformation activities. This article describes how to set up Azure Data Factory Shared Integration Runtime.</p>
<p>The post <a href="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/">Shared Integration Runtime in Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Azure Data Factory is an ETL and orchestrator tool for building cloud-native data engineering pipelines. It has a lot of source connectors available, and this list is overgrowing.&nbsp;Azure Data Factory uses Integration Runtimes as a computing infrastructure to execute data movement and transformation activities. This article describes setting up self-hosted shared integration runtime in Azure Data Factory.</p>



<p class="has-large-font-size">What is Integration Runtime?</p>



<p>Integration Runtime (IR) in Azure Data Factory provides a computational infrastructure for pipelines. It is also instrumental in securing data movement in the cloud. Read more about it <a href="https://docs.microsoft.com/en-us/azure/data-factory/concepts-integration-runtime" target="_blank" rel="noreferrer noopener">here</a>.</p>



<p>What are the different types of integration runtime in ADF?</p>



<p>Azure Data Factory consists of three types of Integration runtimes:</p>



<ol class="wp-block-list">
<li><strong>Azure integration runtime:</strong> This is the default one that Azure fully manages. Suitable to connect to Azure resources. Since Azure manages it, the data movement is in the public network.</li>



<li><strong>Self-hosted integration runtime:</strong> This IR can connect to on-prem sources and secure data movement between the systems. This IR supports the data movement in the private network. </li>



<li><strong>Azure-SSIS integration runtime:</strong> This is used for running SSIS packages in Azure Data Factory</li>
</ol>



<p class="has-large-font-size">Let&#8217;s see it in Action.</p>



<p>This section describes setting up self-hosted shared integration runtime in Azure Data Factory.</p>



<p class="has-pale-cyan-blue-background-color has-background"><strong>Pre-requisites</strong>:<br>1. Azure subscription and a resource group with Azure Data Factory.<br>2. Self Hosted Integration runtime setup in Azure Data Factory.</p>



<ol class="wp-block-list">
<li><strong>Select the integration runtime that needs to be shared.</strong></li>
</ol>



<p>Select the integration runtime to share with other Azure Data Factories and Click edit.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="568" data-attachment-id="2474" data-permalink="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/ezgif-com-gif-maker-1-3/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?fit=1200%2C568&amp;ssl=1" data-orig-size="1200,568" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ezgif.com-gif-maker-1" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?fit=1200%2C568&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?resize=1200%2C568&#038;ssl=1" alt="Shared Integration Runtime in Azure Data Factory" class="wp-image-2474" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?w=1200&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?resize=450%2C213&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?resize=600%2C284&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?resize=300%2C142&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/ezgif.com-gif-maker-1.gif?resize=768%2C364&amp;ssl=1 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>Copy the ResourceID and save it. We will use it in our next steps.</p>



<p>Click on <strong>Grant Permission to another Data Factory or user-assigned managed identity</strong> button, as shown in the above image.</p>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<p>2. <strong>Grant permission to target Azure data factory:</strong></p>



<p>Grant access to target Azure Data Factory which will use shared integration runtime.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="571" data-attachment-id="2475" data-permalink="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/select-adf/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?fit=1200%2C571&amp;ssl=1" data-orig-size="1200,571" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="select-adf" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?fit=1200%2C571&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?resize=1200%2C571&#038;ssl=1" alt="Grant access to Azure Data Factory on Integration runtime." class="wp-image-2475" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?w=1200&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?resize=450%2C214&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?resize=600%2C286&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?resize=300%2C143&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-adf.gif?resize=768%2C365&amp;ssl=1 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>3. <strong>Now, go to the Target Data Factory and add an Integration Runtime</strong></p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="567" data-attachment-id="2477" data-permalink="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/create-ir/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?fit=1200%2C567&amp;ssl=1" data-orig-size="1200,567" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="create-IR" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?fit=1200%2C567&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?resize=1200%2C567&#038;ssl=1" alt="create a shared self-hosted integration runtime in azure data factory" class="wp-image-2477" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?w=1200&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?resize=450%2C213&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?resize=600%2C284&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?resize=300%2C142&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/create-IR.gif?resize=768%2C363&amp;ssl=1 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>Click <strong>New</strong> and select <strong>Azure, self-hosted</strong></p>



<p>Under <strong>External Resources</strong>, select <strong>Linked Self-Hosted</strong> and Click <strong>Continue</strong>.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="573" data-attachment-id="2478" data-permalink="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/select-external-resource/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?fit=1880%2C897&amp;ssl=1" data-orig-size="1880,897" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="select-external-resource" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?fit=1200%2C573&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=1200%2C573&#038;ssl=1" alt="Created self hosted integration runtime in Azure Data Factory" class="wp-image-2478" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=1200%2C573&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=450%2C215&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=600%2C286&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=300%2C143&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=768%2C366&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?resize=1536%2C733&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/select-external-resource.jpg?w=1880&amp;ssl=1 1880w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>It will ask few details about the shared IR.</p>



<p><strong><code>Name</code></strong>: put the name of the new IR.</p>



<p><code style=""><b>Resource ID</b> Copy and paste the resource ID we previously saved and click </code><strong>Create</strong>.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="572" data-attachment-id="2479" data-permalink="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/details-in-target-ir/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?fit=1881%2C897&amp;ssl=1" data-orig-size="1881,897" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="details-in-target-IR" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?fit=1200%2C572&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=1200%2C572&#038;ssl=1" alt="How to create a shared integration runtime in adf" class="wp-image-2479" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=1200%2C572&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=450%2C215&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=600%2C286&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=300%2C143&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=768%2C366&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?resize=1536%2C732&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/details-in-target-IR.jpg?w=1881&amp;ssl=1 1881w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>And we are done!</p>



<p>Now we are using the same integration runtime in two different Azure Data Factory instances.</p>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. Please make sure you have <strong>Microsoft.Authorization/roleAssignments/write</strong> permission on subscription.<br>2. Self-hosted IR requires a virtual machine and Integration runtime software. This means we need to pay the cost of the hosted virtual machine. By sharing the IR between the multiple Data Factory instances, we can use the same virtual machine amongst multiple Data Factories.<br>3. If you’re aiming to obtain the Databricks certified Data Engineer Associate certification, take a look at&nbsp;<a href="https://azureops.org/articles/databricks-certified-data-engineer-associate/" target="_blank" rel="noreferrer noopener">these</a>&nbsp;helpful tips.</p>



<p class="has-large-font-size">See more</p>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/shared-integration-runtime-in-azure-data-factory/">Shared Integration Runtime in Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2316</post-id>	</item>
		<item>
		<title>Use Key Vault Secrets in Azure Data Factory</title>
		<link>https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/</link>
		
		<dc:creator><![CDATA[Pavan Bangad]]></dc:creator>
		<pubDate>Fri, 13 May 2022 12:52:36 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[Key Vault]]></category>
		<category><![CDATA[adf get secret from key vault]]></category>
		<category><![CDATA[azure data factory key vault]]></category>
		<category><![CDATA[azure key vault linked service]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=2239</guid>

					<description><![CDATA[<p>To secure connection details in data factory, we can store credentials in the Azure key vault and access them in Azure data factory. This article describes how to access Azure key vault secrets from Azure data factory linked services.</p>
<p>The post <a href="https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/">Use Key Vault Secrets in Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Azure Data Factory is an ETL and orchestrator tool for building cloud-native data engineering pipelines. It has a lot of source connectors available, and this list is growing rapidly.&nbsp;To secure connection details in the Data Factory, we can store credentials in Azure key vault and access them in Azure Data Factory. This article describes how to access key vault secrets from Azure Data Factory linked services.</p>



<p class="has-large-font-size">What is Azure Key Vault?</p>



<p class="">Azure Key Vault is a cloud service used to securely save and access secrets. The secret could be anything we want to secure, like API keys, credentials, etc. It provides data encryption when it&#8217;s moving from a key vault to a client application, making it more secure. Read more about it <a href="https://azure.microsoft.com/en-us/services/key-vault/#documentation">here</a>.</p>



<p class="has-large-font-size">Let&#8217;s see it in action</p>



<p class="has-pale-cyan-blue-background-color has-background" style="font-size:18px"><strong>Pre-requisites</strong>:<br>To setup Azure key vault for storing Azure Data Factory credentials, we need: <br>1. Azure subscription and a resource group with Azure Data Factory and Azure key-vault.<br>2. Permission on key vault for setting up Access policies.</p>



<p style="font-size:24px" class="">Follow the below steps to use Azure key vault secrets in Azure Data Factory.</p>



<p class=""><strong>1. Create <a href="https://docs.microsoft.com/en-us/azure/data-factory/concepts-linked-services?tabs=data-factory" target="_blank" rel="noreferrer noopener">linked service</a> for the key vault in Azure Data Factory (ADF).</strong><br></p>



<figure class="wp-block-image size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="938" height="421" data-attachment-id="2362" data-permalink="https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/azure-key-vault-linked-service-creation/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?fit=938%2C421&amp;ssl=1" data-orig-size="938,421" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Azure-key-vault-linked-service-creation" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?fit=938%2C421&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?resize=938%2C421&#038;ssl=1" alt="azure key vault linked service" class="wp-image-2362" style="width:800px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?w=938&amp;ssl=1 938w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?resize=450%2C202&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?resize=600%2C269&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?resize=300%2C135&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Azure-key-vault-linked-service-creation.gif?resize=768%2C345&amp;ssl=1 768w" sizes="(max-width: 938px) 100vw, 938px" /></figure>



<p class="">Key vault base URL is <code>https://&lt;keyvaultName&gt;.vault.azure.net</code><br></p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="523" data-attachment-id="2363" data-permalink="https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/key-vault-linked-service-setup/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?fit=1607%2C700&amp;ssl=1" data-orig-size="1607,700" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Key-Vault-Linked-Service-Setup" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?fit=1200%2C523&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=1200%2C523&#038;ssl=1" alt="azure key vault linked service" class="wp-image-2363" style="width:800px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=1200%2C523&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=450%2C196&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=600%2C261&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=300%2C131&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=768%2C335&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?resize=1536%2C669&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Key-Vault-Linked-Service-Setup.jpg?w=1607&amp;ssl=1 1607w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p class=""><strong>2.</strong> <strong>Grant access to Azure Data Factory service principal on Azure key vault. Follow the below steps to do this.</strong></p>



<p class="">a. Navigate to key vault resource in Azure portal and click on <strong>Access policies</strong></p>



<p class="">b. Click on <strong>Add Access Policy</strong> followed by <strong>Select principal</strong> and search for Azure Data Factory resource by its name. Here, the service principal is nothing but an app (managed identity) created for the data factory in Azure active directory, </p>



<p class="">In case the managed identity for Azure Data Factory does not exist in the Azure active directory, you can create it by running below Azure CLI.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; title: ; notranslate">
#Generate managed identity for Data Factory.
Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Name $factoryName -Location $location
</pre></div>


<p class="">S<span style="color: initial;">elect at least get and set permission for </span><strong><span style="color: initial;">Key </span>p<span style="color: initial;">ermissions</span></strong><span style="color: initial;"> and <strong>Secret permissions,</strong></span> as shown in the image below.</p>



<figure class="wp-block-image size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1087" height="446" data-attachment-id="2398" data-permalink="https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/access-policy-setupv3/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?fit=1087%2C446&amp;ssl=1" data-orig-size="1087,446" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Access Policy Setupv3" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?fit=1087%2C446&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?resize=1087%2C446&#038;ssl=1" alt="grant access to azure data factory on key vault" class="wp-image-2398" style="width:800px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?w=1087&amp;ssl=1 1087w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?resize=450%2C185&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?resize=600%2C246&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?resize=300%2C123&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Access-Policy-Setupv3.gif?resize=768%2C315&amp;ssl=1 768w" sizes="(max-width: 1087px) 100vw, 1087px" /></figure>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<p class=""><strong>3. After permission configuration, the connection with the key vault should be successful</strong>.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="421" data-attachment-id="2366" data-permalink="https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/successful-connection/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?fit=1629%2C572&amp;ssl=1" data-orig-size="1629,572" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Successful-connection" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?fit=1200%2C421&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=1200%2C421&#038;ssl=1" alt="Use Key Vault Secrets in Azure Data Factory" class="wp-image-2366" style="width:800px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=1200%2C421&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=450%2C158&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=600%2C211&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=300%2C105&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=768%2C270&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?resize=1536%2C539&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/Successful-connection.jpg?w=1629&amp;ssl=1 1629w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. Data Factory cannot store credentials in a Git repository; hence, it is advisable to use Azure key vault to store credentials. This will avoid the immediate publishing of linked services during the development.<br>2. Follow <a href="https://azureops.org/articles/update-secret-in-azure-key-vault-using-powershell/" target="_blank" rel="noreferrer noopener">this</a> article, if you want to learn how to update key vault secrets using PowerShell.<br>3. <a href="https://azureops.org/articles/access-key-vault-from-azure-devops-pipeline/" target="_blank" rel="noreferrer noopener">Learn </a>how to access Key Vault secrets in Azure DevOps deployment pipelines.</p>



<p class="has-large-font-size">See more</p>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/key-vault-secrets-in-azure-data-factory/">Use Key Vault Secrets in Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2239</post-id>	</item>
		<item>
		<title>Call Graph API from Azure Data Factory</title>
		<link>https://azureops.org/articles/call-graph-api-from-azure-data-factory/</link>
		
		<dc:creator><![CDATA[Pavan Bangad]]></dc:creator>
		<pubDate>Fri, 08 Apr 2022 06:20:28 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[Azure Data Factory]]></category>
		<category><![CDATA[Graph API]]></category>
		<category><![CDATA[Graph API Azure Data Factory]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=2033</guid>

					<description><![CDATA[<p>Microsoft has enabled support for accessing Microsoft Graph API from Azure data factory. In this article, we will see how to call Graph API from Azure data factory using the managed identity.</p>
<p>The post <a href="https://azureops.org/articles/call-graph-api-from-azure-data-factory/">Call Graph API from Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Azure data factory is an ETL and orchestrator tool for building cloud-native data engineering pipelines. It has a lot of source connectors available and this list is growing rapidly. Microsoft has also enabled support for accessing Microsoft Graph API from Azure Data Factory. In this article, we will see how to call Graph API from Azure Data Factory using the managed identity.</p>



<h2 class="wp-block-heading">What is Microsoft Graph API?</h2>



<p class="">Microsoft Graph is a RESTful web API that enables you to access Microsoft Cloud service resources like Users, Groups, Mail, Calendars, Contacts, Files, etc. More information is available on the <a href="https://docs.microsoft.com/en-us/graph/use-the-api#:~:text=OData%20namespace%20The%20Microsoft%20Graph%20API%20defines%20most,API%20which%20defines%20resources%20like%20callRecord%20in%20microsoft.graph.callRecords." target="_blank" rel="noreferrer noopener">Microsoft docs</a>.</p>



<h2 class="wp-block-heading">Authentication</h2>



<p class="">There are two ways to authenticate Graph API from Azure Data Factory.</p>



<h3 class="wp-block-heading">Using Service principal</h3>



<p class="">The service principle in simple terms is a service account. This enables programmatic access to resources in Azure. To create a service principal, we need to register an App in Azure Active Directory. This application has clientID, client Secret and app ID. These details can also be used to grant access to Microsoft Graph API.</p>



<h3 class="wp-block-heading">Using Managed Identity</h3>



<p class="">Managed identity is a service principal associated with resources in Azure. When we create a data factory in Azure, it automatically creates an app in Azure Active Directory. This means if we want to access Graph API using the data factory, we just need to grant Azure Data Factory app access to Graph API. This makes access management more secure and easy, isn&#8217;t it?</p>



<h2 class="wp-block-heading">Let&#8217;s see it in action</h2>



<p class="">This section describes how to call Graph API from Azure Data Factory using the managed identity. For demo purposes, we will get Azure active directory users&#8217; data using Graph API and copy it to blob storage.  </p>



<h3 class="wp-block-heading">1. Providing Graph API access to Azure data factory.</h3>



<p class="">a. Navigate to Azure active directory on Azure <a href="http://portal.azure.com">portal</a> and search the data factory application (managed identity) under Enterprise applications. </p>



<figure class="wp-block-image size-full is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="488" data-attachment-id="2222" data-permalink="https://azureops.org/articles/call-graph-api-from-azure-data-factory/enterprise-application-2/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?fit=1200%2C488&amp;ssl=1" data-orig-size="1200,488" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="enterprise-application" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?fit=1200%2C488&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?resize=1200%2C488&#038;ssl=1" alt="" class="wp-image-2222" style="object-fit:cover;width:1000px;height:400px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?w=1200&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?resize=450%2C183&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?resize=600%2C244&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?resize=300%2C122&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/enterprise-application.webp?resize=768%2C312&amp;ssl=1 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p class="">b. Grant access to Data Factory app on Graph API as shown in the below image. </p>



<p class="has-background" style="background-color:#d2d0f0"><strong>Note</strong>:  Granting access to Graph API requires Azure active directory admin consent.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/adf-permission.jpg?w=1709&#038;ssl=1" alt="" style="object-fit:cover;width:800px;height:500px"/></figure>



<p id="wnd_TextBlock_84298_inner_0" class="">Azure data factory requires &#8220;user.read.all&#8221; permission to read users&#8217; data from Graph API.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/adf-user-api-permission.png?w=1709&#038;ssl=1" alt="" style="width:499px;height:173px"/></figure>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h3 class="wp-block-heading">2. Setting up linked service for API calls.</h3>



<p class="">a. <strong>Connect</strong>&nbsp;to the Azure&nbsp;<a href="http://portal.azure.com/" target="_blank" rel="noreferrer noopener">portal</a>&nbsp;and open the data factory.  <strong>Create</strong> a new pipeline.</p>



<p class="">b. <strong>Create</strong> a new Linked service for REST API. Provide Authentication Type and AAD resource values as mentioned below.</p>



<p class="has-text-align-left"><code>Authentication Type :  System Assigned Managed Identity </code></p>



<p class="has-text-align-left"><code>AAD resource : https://graph.microsoft.com/</code></p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="663" data-attachment-id="2306" data-permalink="https://azureops.org/articles/call-graph-api-from-azure-data-factory/b-1/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?fit=1551%2C857&amp;ssl=1" data-orig-size="1551,857" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="b-1" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?fit=1200%2C663&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=1200%2C663&#038;ssl=1" alt="" class="wp-image-2306" style="width:100px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=1200%2C663&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=450%2C249&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=600%2C332&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=300%2C166&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=1122%2C620&amp;ssl=1 1122w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=768%2C424&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?resize=1536%2C849&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/05/b-1.jpg?w=1551&amp;ssl=1 1551w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<h3 class="wp-block-heading">3. Configure Copy Activity to get data from API and push it to blob Storage.</h3>



<p class=""><code>URL : https://graph.microsoft.com/v1.0/users</code></p>



<p class=""><code>Pagination Rules : AbsolutionUrl = ['@odata.nextLink']</code></p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/graph-api.gif?w=1709&#038;ssl=1" alt="" style="object-fit:cover;width:800px;height:600px"/></figure>



<p id="wnd_TextBlock_86935_inner_0" class="">Execution of this ADF pipeline should generate a file in the target blob storage.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/04/d-1.jpg?w=1709&#038;ssl=1" alt="" style="object-fit:cover;width:900px;height:250px"/></figure>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. Microsoft Graph API provides various API filtering parameters. More details can be found at this <a href="https://docs.microsoft.com/en-us/graph/query-parameters" target="_blank" rel="noreferrer noopener">link</a>.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/call-graph-api-from-azure-data-factory/">Call Graph API from Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2033</post-id>	</item>
		<item>
		<title>Export and Import Azure Data Factory</title>
		<link>https://azureops.org/articles/export-and-import-azure-data-factory/</link>
		
		<dc:creator><![CDATA[Kunal Rathi]]></dc:creator>
		<pubDate>Fri, 14 Jan 2022 15:03:53 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[export and import azure data factory]]></category>
		<category><![CDATA[migrate data factory]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=1648</guid>

					<description><![CDATA[<p>Migrate Azure data factory from one resource group to another using these 3 simple steps. </p>
<p>The post <a href="https://azureops.org/articles/export-and-import-azure-data-factory/">Export and Import Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Azure Data Factory is an Azure cloud ETL service for serverless data integrations and orchestrations. This article will describe how to export and import Azure Data Factory between different Azure resource groups or environments. </p>



<p class="has-pale-cyan-blue-background-color has-background"><strong>Pre-requisites</strong><br>1. Azure subscription with access to deploy Azure resources.<br>2. Az PowerShell <a href="https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-7.1.0" target="_blank" rel="noreferrer noopener">module</a> installed on the local machine.</p>



<h2 class="wp-block-heading">Export Azure Data Factory</h2>



<p>Let&#8217;s first export an existing data factory ARM template. Follow the below steps to do it. </p>



<ol class="wp-block-list">
<li><strong>Connect</strong> to the Azure <a href="http://portal.azure.com/" target="_blank" rel="noreferrer noopener">portal</a> and open-source Azure Data Factory Studio.</li>



<li>Navigate to <strong>Manage</strong> options.</li>



<li>Click on the <strong>Export</strong> button under &#8216;Export ARM Template&#8217; as shown in the above image. </li>



<li>This will download Azure Data Factory code in a  file named arm_template.zip. <strong>Unzip</strong> the file. Files of our interest are
<ul class="wp-block-list">
<li>ARMTemplateForFactory.json &#8211; This file contains the entire Data Factory code.</li>



<li>ARMTemplateParametersForFactory.json &#8211; This file contains parameters for the Data Factory.</li>
</ul>
</li>
</ol>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="841" height="216" data-attachment-id="4492" data-permalink="https://azureops.org/articles/export-and-import-azure-data-factory/azure-data-factory-arm-template-files/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?fit=841%2C216&amp;ssl=1" data-orig-size="841,216" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Azure-data-factory-ARM-template-files" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?fit=841%2C216&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?resize=841%2C216&#038;ssl=1" alt="azure data factory download" class="wp-image-4492" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?w=841&amp;ssl=1 841w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?resize=450%2C116&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?resize=600%2C154&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?resize=300%2C77&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/11/Azure-data-factory-ARM-template-files.png?resize=768%2C197&amp;ssl=1 768w" sizes="(max-width: 841px) 100vw, 841px" /></figure>



<h2 class="wp-block-heading">Transform ARM template</h2>



<p>Let&#8217;s change the factory parameter values in the ARMTemplateParametersForFactory.json file as per the target environment. The mandatory change you need to make in the parameter file is <strong>factoryName</strong>. Perhaps, it is also a good idea to set other factory parameters in this file.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="223" data-attachment-id="1664" data-permalink="https://azureops.org/articles/export-and-import-azure-data-factory/arm-tempalte-parameter-edit/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?fit=1802%2C335&amp;ssl=1" data-orig-size="1802,335" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="arm-tempalte-parameter-edit" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?fit=1200%2C223&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit-1200x223.png?resize=1200%2C223&#038;ssl=1" alt="adf import export" class="wp-image-1664" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?resize=1200%2C223&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?resize=450%2C84&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?resize=600%2C112&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?resize=300%2C56&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?resize=768%2C143&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?resize=1536%2C286&amp;ssl=1 1536w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/arm-tempalte-parameter-edit.png?w=1802&amp;ssl=1 1802w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p class="has-background" style="background-color:#d2d0f0"><strong>Note:</strong> Include Global parameters in the ARM template is deprecated and only available through git integration. You may need to manually recreate global parameters in the target data factory once the import is done. </p>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h2 class="wp-block-heading">Import Azure Data Factory</h2>



<ol class="wp-block-list">
<li><strong>Open PowerShell ISE</strong> and copy the below script in the new window. Ensure you have installed the Az module as mentioned in the prerequisites.</li>
</ol>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; highlight: [1,2,3,4,5,6,7,8]; title: ; quick-code: false; notranslate">
$templateFile = &quot;Full path of ARMTemplateForFactory.json&quot;
$parameterFile=&quot;Full path of ARMTemplateParametersForFactory.json&quot;
$deploymentName = &quot;Name of the deployment&quot;
$tenantId = &quot;Tenant id&quot;
$subscriptionName = &quot;Subscription name&quot;
$resourceGroupName = &quot;Name of the resource group&quot;
$factoryName = &quot;target factory name&quot;
$location = &quot;Location of resource group&quot;

#Connect to Azure account
Connect-AzAccount -Tenant $tenantId -Subscription $subscriptionName

#Deploy Data Factory
New-AzResourceGroupDeployment `
  -Name $deploymentName `
  -ResourceGroupName $resourceGroupName `
  -TemplateFile $templateFile `
  -TemplateParameterFile $parameterFile `
  -Tag @{&quot;key1&quot;=&quot;value1&quot;; &quot;key2&quot;=&quot;value2&quot;;}

#Generate managed identity for Data Factory.
Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Name $factoryName -Location $location
</pre></div>


<p>2. Provide values to the variables below <br><code>$templateFile </code>and <code>$parameterFile</code> variables refer to the files we have downloaded and transformed in the above steps. <br>$tenantId &#8211; Tenant id of the target subscription. You can get tenantId details from <a href="https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade" target="_blank" rel="noreferrer noopener">here</a>.<br>$subscriptionName-Subscription name of the target resource group.<br>$resourceGroupName-Target resource group.<br>$factoryName &#8211; Name of the target Data Factory. Here, we need to ensure that the name is the same one we used in the ARMTemplateParametersForFactory.json file.<br><code>$location</code>-Location of the target resource group.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1200" height="557" data-attachment-id="1677" data-permalink="https://azureops.org/articles/export-and-import-azure-data-factory/import-azure-data-factory-1/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?fit=1200%2C557&amp;ssl=1" data-orig-size="1200,557" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Import-azure-data-factory-1" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?fit=1200%2C557&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?resize=1200%2C557&#038;ssl=1" alt="Migrate Azure data factory from one resource group to another." class="wp-image-1677" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?w=1200&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?resize=450%2C209&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?resize=600%2C279&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?resize=300%2C139&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2022/01/Import-azure-data-factory-1.gif?resize=768%2C356&amp;ssl=1 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p>That&#8217;s it! You should see the Data Factory in the target resource group if the above script executes without error.</p>



<p>We have seen how adf import export can  be done using PowerShell ISE and Azure Data Factory Studio in Azure portal.</p>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. Azure Data Factory export from the Azure portal may not include global parameters in the arm template unless you have git integration enabled.<br>2. If you want to edit data factory triggers before the deployment, you can edit them in the arm_template.json file under the resources node.<br>3. If your organization has defined a policy to add tags with Azure resources, you need to include them as a parameter of the New-AzResourceGroupDeployment command.<br>4. You can refer to <a href="https://azureops.org/articles/automated-azure-data-factory-publish/" target="_blank" rel="noreferrer noopener">this</a> post if you want to enable automatic publishing and deployment of the Data Factory code with Azure DevOps.<br>5. <a href="https://azureops.org/articles/export-and-import-powerapps/" target="_blank" rel="noreferrer noopener">Learn</a> how to export and import PowerApps package in just a few clicks.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/export-and-import-azure-data-factory/">Export and Import Azure Data Factory</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1648</post-id>	</item>
		<item>
		<title>Azure Data Factory Deployment using Azure DevOps</title>
		<link>https://azureops.org/articles/automated-azure-data-factory-publish/</link>
					<comments>https://azureops.org/articles/automated-azure-data-factory-publish/#comments</comments>
		
		<dc:creator><![CDATA[Kunal Rathi]]></dc:creator>
		<pubDate>Sat, 17 Apr 2021 02:41:37 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Data Factory]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Automated ADF publish]]></category>
		<category><![CDATA[azure data factory ci/cd]]></category>
		<category><![CDATA[azure data factory cicd]]></category>
		<guid isPermaLink="false">https://azureops.org/?p=460</guid>

					<description><![CDATA[<p>Recently, Microsoft has announced that they now support automated Azure Data Factory publish using ADFUtilities NPM (@microsoft/azure-data-factory-utilities) library. This library provides basic functionality to validate and generate an ARM template given a set of Data Factory resources.</p>
<p>The post <a href="https://azureops.org/articles/automated-azure-data-factory-publish/">Azure Data Factory Deployment using Azure DevOps</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="">Recently, Microsoft announced that they now <strong>support automated Azure Data Factory publish</strong> using the <strong>ADFUtilities</strong> NPM (<a href="https://www.npmjs.com/package/@microsoft/azure-data-factory-utilities">@microsoft/azure-</a><a href="https://www.npmjs.com/package/@microsoft/azure-data-factory-utilities" target="_blank" rel="noreferrer noopener">data-factory-utilities</a>) library. This library provides basic functionality to validate and generate an ARM template given a set of Data Factory resources. This article describes how to implement Azure Data Factory Deployment using Azure DevOps and ADFUtilities NPM library.</p>



<h2 class="wp-block-heading">Background</h2>



<p class="">In Azure Data Factory, continuous integration and continuous delivery (CI/CD) mean moving Data Factory artifacts from one environment, such as dev, test, production, etc. We have been using the Data Factory CI/CD process with the <strong>adf_publish </strong>branch.  The main issue with this <strong>approach </strong>is that the developer must manually click the<strong> publish button </strong>on the Data Factory UI master branch to deploy the code to the dev Data Factory. This generates the ARM Template artifacts in the <strong>adf_publish</strong> branch for higher environment deployments.</p>



<p class="">With the <strong>Automated publish</strong> improvement, we can create an ARM Template artifact using the Azure DevOps build pipeline with a trigger of <strong>master</strong> branch update (pull request). Deploying these artifacts to the dev and other environments can then be managed with the release pipeline (CD).</p>



<p class="">Microsoft will support both Azure Data Factory CI CD flows for Data Factory deployments, So below are some of the key differences between the old and the new approach.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<figure class="is-style-regular wp-block-table"><table class="has-background has-fixed-layout" style="background-color:#f3f4f5"><thead><tr><th></th><th>Old CI/CD flow</th><th>New CI/CD flow</th></tr></thead><tbody><tr><td>Code validation and publish to dev</td><td>manual</td><td>using the CI/CD pipeline with the ADFUtilities NPM package.</td></tr><tr><td>ARM template generation </td><td>once code is published to dev  Data Factory manually from the master branch.</td><td>After the successful execution of the build pipeline.</td></tr><tr><td>Release pipeline source</td><td>adf_publish branch artifacts.</td><td>build pipeline artifacts</td></tr></tbody></table><figcaption class="wp-element-caption">azure data factory CI CD options</figcaption></figure>
</div>
</div>



<h2 class="wp-block-heading">Build pipeline (CI)</h2>



<p class="has-pale-cyan-blue-background-color has-background" style="font-size:18px"><strong>Pre-requisites:</strong><br>1. Azure DevOps Account.<br>2. Data Factory in a dev environment with Azure Repos <a href="https://docs.microsoft.com/en-us/azure/data-factory/source-control" target="_blank" rel="noreferrer noopener">Git integration</a>.</p>



<p class="">Before we start with the build pipeline, we need to create a file named <strong><code>package.json</code></strong> in the <strong>master </strong>branch of the Data Factory repository and copy the code below.  </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; gutter: false; title: ; notranslate">
{
    &quot;scripts&quot;:{
        &quot;build&quot;:&quot;node node_modules/@microsoft/azure-data-factory-utilities/lib/index&quot;
    },
    &quot;dependencies&quot;:{
        &quot;@microsoft/azure-data-factory-utilities&quot;:&quot;^0.1.3&quot;
    }
}
</pre></div>


<p class="">The file should look like the below image.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1024" height="468" data-attachment-id="480" data-permalink="https://azureops.org/articles/automated-azure-data-factory-publish/package-json/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?fit=1492%2C682&amp;ssl=1" data-orig-size="1492,682" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="package-json" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?fit=1024%2C468&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?resize=1024%2C468&#038;ssl=1" alt="@microsoft/azure-data-factory-utilities" class="wp-image-480" style="width:768px;height:351px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?resize=1024%2C468&amp;ssl=1 1024w, https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?resize=450%2C206&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?resize=600%2C274&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?resize=300%2C137&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?resize=768%2C351&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/package-json.png?w=1492&amp;ssl=1 1492w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p style="font-size:18px" class=""><strong>Follow the below steps to create CI (build) pipeline for automated Azure Data Factory publish.</strong></p>



<p class="">1. Create a <strong>new </strong>build <strong>pipeline </strong>in the Azure DevOps project. <br>2. Select<strong> Azure Repos Git</strong> as your code repository.<br>3. From the Azure Repos, <strong>select</strong> the <strong>repo </strong>that contains the Data Factory code. This is the repository where you have Data Factory DevOps integration.<br>4. Select <strong>Start Pipeline</strong> as your build pipeline type. <br>5. <strong>Replace </strong>the <strong>default YAML</strong> code with <strong>the below code</strong>. You would also make some changes to the code: replace &lt;subscription-id&gt; with your subscriptionid, &lt;resourcegroup-name&gt; with the resource group name, and &lt;dev data factory name&gt; with Dev Data Factory name. </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; highlight: [19,27]; title: ; notranslate">
trigger:
- master #change master to something else if master is not your main branch
pool:
  vmImage: &#039;ubuntu-latest&#039;
steps:
- task: NodeTool@0
  inputs:
    versionSpec: &#039;18.x&#039;
  displayName: &#039;Install Node.js&#039;

- task: Npm@1
  inputs:
    command: &#039;install&#039;
    verbose: true
  displayName: &#039;Install npm package&#039;
- task: Npm@1
  inputs:
    command: &#039;custom&#039;
    customCommand: &#039;run build validate $(Build.Repository.LocalPath) /subscriptions/&lt;subscription-id&gt;/resourceGroups/&lt;resourcegroup-name&gt;/providers/Microsoft.DataFactory/factories/&lt;dev data factory name&gt;&#039;
  displayName: &#039;Validate&#039;

# Validate and then generate the ARM template into the destination folder. Same as clicking &quot;Publish&quot; from UX
# The ARM template generated is not published to the ‘Live’ version of the factory. Deployment should be done using a release pipeline. 
- task: Npm@1
  inputs:
    command: &#039;custom&#039;
    customCommand: &#039;run build export $(Build.Repository.LocalPath) /subscriptions/&lt;subscription-id&gt;/resourceGroups/&lt;resourcegroup-name&gt;/providers/Microsoft.DataFactory/factories/&lt;dev data factory name&gt; &quot;ArmTemplate&quot;&#039;
  displayName: &#039;Validate and Generate ARM template&#039;

# Publish the Artifact to be used as a source for a release pipeline
- task: PublishPipelineArtifact@1
  inputs:
    targetPath: &#039;$(Build.Repository.LocalPath)/ArmTemplate&#039;
    artifact: &#039;ArmTemplates&#039;
    publishLocation: &#039;pipeline&#039;
</pre></div>


<p class="">6. Click <strong>Save</strong>.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/Create-Build-pipeline-for-ADF.gif?w=1709&#038;ssl=1" alt="azure data factory deployment using azure devops" style="width:1200px;height:675px"/><figcaption class="wp-element-caption">Steps to create the build pipeline for the Data Factory</figcaption></figure>



<p class="">The outcome of the above build process will generate the ARM Template as a linked artifact.  Note here that the source of this artifact is the Data Factory master branch.</p>



<p class="">Now that we have the build pipeline setup, let us create a release pipeline to deploy code to the dev Data Factory.&nbsp;In this approach, the r<strong>elease pipeline</strong> for Data Factory <strong>utilizes </strong>the<strong> build pipeline linked artifact instead </strong>of the <strong>adf_publish&nbsp; </strong>branch.</p>



<figure class="is-style-default wp-block-image size-large is-resized"><a href="https://marketplace.visualstudio.com/items?itemName=AzureOps.ssiscatalogerpro&amp;ssr=false#overview" target="_blank" rel="noopener"><img data-recalc-dims="1" decoding="async" width="1200" height="148" data-attachment-id="4839" data-permalink="https://azureops.org/articles/azure-data-studio-for-sql-developers/scmw-horizontal-ad/" data-orig-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1326%2C163&amp;ssl=1" data-orig-size="1326,163" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="SCMW-horizontal-ad" data-image-description="" data-image-caption="" data-large-file="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?fit=1200%2C148&amp;ssl=1" src="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&#038;ssl=1" alt="" class="wp-image-4839" style="object-fit:cover;width:811px;height:99px" srcset="https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=1200%2C148&amp;ssl=1 1200w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=450%2C55&amp;ssl=1 450w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=600%2C74&amp;ssl=1 600w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=300%2C37&amp;ssl=1 300w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?resize=768%2C94&amp;ssl=1 768w, https://i0.wp.com/azureops.org/wp-content/uploads/2023/01/SCMW-horizontal-ad.png?w=1326&amp;ssl=1 1326w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></figure>



<h2 class="wp-block-heading">Release pipeline (CD)</h2>



<p class="has-pale-cyan-blue-background-color has-background" style="font-size:18px"><strong>Pre-requisites:</strong><br> 1. <a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&amp;tabs=yaml" target="_blank" rel="noreferrer noopener">Service connection</a> to dev Azure resource group.</p>



<p style="font-size:18px" class=""><strong>Follow the below steps to create </strong>a <strong>release pipeline for Data Factory</strong> <strong>build deployment.</strong></p>



<ol class="wp-block-list">
<li class="">Select&nbsp;<strong>Pipelines</strong>, and then select&nbsp;<strong>Releases</strong> from the left side of the Azure DevOps.</li>



<li class="">Click <strong>New release pipeline</strong> under <strong>New</strong> dropdown. Select the&nbsp;<strong>Empty job</strong>&nbsp;template.</li>



<li class=""> Provide <strong>Stage name</strong>. This generally denotes a dev environment.  </li>



<li class="">Click Add an artifact and then Build. And select the appropriate <strong>Project</strong> &amp; <strong>Source </strong>from the drop-down. <strong>Source alias</strong> can be the default (typically _name_of_the_build).</li>



<li class="">Click on the <strong>Stage </strong>(dev) box hyperlink. Add a <strong>new task</strong>. Search for <strong>ARM Template Deployment.</strong></li>
</ol>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/ADF-cicd-release-pipeline-part1.gif?w=1709&#038;ssl=1" alt="azure data factory deployment using azure devops" style="width:1200px;height:675px"/><figcaption class="wp-element-caption">Steps to configure Data Factory release pipeline.</figcaption></figure>



<p class="">6. Selec Service connection to dev Azure resource group in <strong>Azure resource manager connection</strong>. Provide relevant <strong>Subscription</strong>, <strong>Resource group</strong> &amp; <strong>Location</strong>. Select <strong>Template location</strong> as <code>Linked artifact</code>. Browse <code>ARMTemplateForFactory.json file</code> in <strong>Template</strong>, and <code>ARMTemplateParametersForFactory.json</code> in <strong>Template parameters</strong>.  In the case of <strong>Overwrite template parameters</strong>, we need to manually provide all parameter names and values from ARMTemplateForFactory.json file. This is because build artifacts are generated at runtime. Give a suitable <strong>Deployment name,</strong> for example, &#8216;adf_deployment&#8217;. Click <strong>Save</strong>.<br>7. You can also enable a continuous deployment trigger from the icon on the <strong>Artifacts</strong> box.</p>



<figure class="wp-block-image size-large is-resized"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/azureops.org/wp-content/uploads/2021/04/ADF-cicd-release-pipeline-part2.gif?w=1709&#038;ssl=1" alt="CI/CD ADF with ADFUtilities NPM package," style="width:1200px;height:675px"/><figcaption class="wp-element-caption">Steps to configure ARM Template task for Data Factory artifacts.</figcaption></figure>



<h2 class="wp-block-heading">Handle ADF triggers</h2>



<p class="">Refer to <a href="https://azureops.org/articles/disable-and-enable-triggers-in-azure-data-factory/" target="_blank" rel="noreferrer noopener">this</a> article to disable and enable triggers in the data factory deployment pipeline.</p>



<p class="has-background" style="background-color:#bcefca"><strong>Pro tips:</strong><br>1. In the real world, you must set Data Factory and global parameters in a release pipeline. Setting up global parameters differs slightly in the ADFUtilities NPM package-based deployment. Read more about it <a href="https://techcommunity.microsoft.com/t5/azure-data-factory-blog/ci-cd-improvement-using-global-parameters-in-azure-data-factory/ba-p/3557265#M665" target="_blank" rel="noreferrer noopener">here</a>.<br>2. Similar to dev Data Factory deployment, we can add more stages for higher environments like test, production, etc. deployment.<br>3. If you get an error &#8220;Resource &lt;adf_name&gt; was&nbsp; disallowed by&nbsp; policy.&nbsp; Error&nbsp;Type:&nbsp; PolicyViolation,&nbsp;Policy&nbsp;Definition&nbsp;Name&nbsp;:&nbsp;Restrict&nbsp;resources&nbsp;without&nbsp;specific&nbsp;tag,&nbsp;Policy&nbsp;Assignment&nbsp;Name&nbsp;&#8220;. Your organization has defined a policy to disallow resource creation in Azure without specific tags. In such a case, Azure DevOps CI-CD pipeline cannot be used for ADF deployment. As per Microsoft docs, we need to use the Export and Import Data factory approach.<br>4. If you wish to export and import data factories between resource groups, refer to this <a href="https://azureops.org/articles/export-and-import-azure-data-factory/" target="_blank" rel="noreferrer noopener">article</a>.<br>5. Refer to <a href="https://azureops.org/articles/implement-azure-sql-database-deployment-ci-cd-pipeline/" target="_blank" rel="noreferrer noopener">this </a>post to know how to implement CICD pipeline for Azure SQL Database deployments.</p>



<h2 class="wp-block-heading">See more</h2>



<iframe width="700" height="394" src="https://www.youtube.com/embed/t2h6xNVFQkc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="is-style-fill wp-block-button"><a class="wp-block-button__link has-white-color has-blush-light-purple-gradient-background has-text-color has-background has-link-color wp-element-button" href="https://azureops.org/product/ssis-catalog-migration-wizard-pro/" target="_blank" rel="noreferrer noopener">Download Now</a></div>
</div>
<p>The post <a href="https://azureops.org/articles/automated-azure-data-factory-publish/">Azure Data Factory Deployment using Azure DevOps</a> appeared first on <a href="https://azureops.org">AzureOps</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://azureops.org/articles/automated-azure-data-factory-publish/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">460</post-id>	</item>
	</channel>
</rss>
