Deploy Azure Data Factory by just providing project file (Not coding Linked services, Datasets separately) - azure-data-factory

I want to know how to deploy an ADF from a Visual studio project file in which only the Resources (eg: Azure SQL ) are defined?
I want the linked services to be generated automatically for the specifies resources.

Related

How to take backup / Download Azure Analysis Services Data models (.bim) file using PowerShell

I am doing a kind of comparison between a .bim files of UAT and PROD environment. I want to download the .bim file from Prod and UAT AAS (Azure Analysis Services) and perform the comparison. I am unable to do so. I tried Backup-ASBackup, it is not downloaded the actual .bim file in fact it creates some kind of compressed file in that I can't see the actual .bim file code.
I have seen few links but they were just performing a backup of data models for disaster management.
Please help me.
Unfortunately, you cannot take backup and download Azure Analysis Services Data models (.bim) file using powershell.
Reason: By default, Backup-ASDatabasecmdlet creates a <filename.abf> which does not allow you to extract the files because the file is compressed with Unicode encoding and this file can be only used to Restore-ASDatabase in case of disaster recovery.
You can download Azure Analysis Services Data models (.bim) file using Azure portal.
Select your Analysis services => Under Models => Select Manage => Select the models which you want to download the (.bim) file using Open in Visual studio.
The downloaded zip folder contains "SMPROJ" & "BIM" file.

Azure Data Factory designer in Visual Studio 2019 project

I've run into a release pipeline issue with the Azure Data Factory. In most types of Azure entities (such as a web app or sql project), I can develop the project in Visual Studio and use ADO to create a build and releases to deploy the project to Azure. Using variables and libraries, I can create the appropriate release definitions variables on a per-environment basis, and ensure that the build I deploy is the same for each step of the release pipeline (i.e dev -> tst -> stg -> prd). You know, the normal continuous integration/continuous deployment process?
However with Azure Data factories, it seems that I have to create the data factory in the Azure Portal directly for an environment and then create it again for another environment in the pipeline (I know I can export and reimport manually).
What I would like is to be able to create an Azure Data Factory project in Visual Studio (2019), maintain it in Visual Studio with a similar designer like the one in the Azure portal, check it into git and deploy it with a build and release in ADO.
Since creating an Azure Data Factory project doesn't seem possible (or am I missing something?), what is the recommended approach to working with Azure data factories in a continuous integration/continuous deployment ADO environment?
ADFV2 does not have a plugin for Visual Studio, most of the effort has been on the UX side.
We recommend you to use ADF UI as your development tool, where you can define your workflow easily and validate your changes.
For CICD, you can integrate your Dev factory with GIT, and then setup CICD in the below way
https://learn.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment.
Every publish to Dev factory will trigger your release pipeline which can take the build and deploy to remaining stages.

how to copy and deploy multiple logic apps to different RG

I am having multiple logic apps in resorce group.How can i copy all and deploye to different RG.
what is best way to do so?
I am not prefering Moving resorces.
As an example, you can download all of the logic apps to visual studio, from there create parameter files and build Azure DevOps build/release pipelines to different resource groups. Such as dev, test, uat & prod resource groups. I am using this strategy to build and govern over 300 logic apps for one of my customers. Now I started from Visual studio but you could easily download your current logic apps using the cloud explorer in visual studio or directly from the Azure portal.
One of the things you will have to look out for is the API-connections, they tend to create new ones even when not asked for.

Best practice for scripting Azure resource creation

I'm creating a test environment in Azure. I want to have an accurate script of what of the configuration so it's easy to replicate for other test, pre-prod and prod environments later on. The environment has an existing subscription, and I want the entire hierarchy of resources from Resource Groups through to Web Apps to be created by script.
I'm currently rolling my own script in PowerShell utilising AzureRm. This is working well, but I can't help feel I'm reinventing the wheel. What is the existing method for creating an entire Azure environment by script?
Yes, that way is called Azure Resource Manager Templates. Quote:
With Resource Manager, you can create a template (in JSON format) that defines the infrastructure and configuration of your Azure solution. By using a template, you can repeatedly deploy your solution throughout its lifecycle and have confidence your resources are deployed in a consistent state. When you create a solution from the portal, the solution automatically includes a deployment template. You do not have to create your template from scratch because you can start with the template for your solution and customize it to meet your specific needs. You can retrieve a template for an existing resource group by either exporting the current state of the resource group, or viewing the template used for a particular deployment. Viewing the exported template is a helpful way to learn about the template syntax.
Reference: https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview#template-deployment
Edit: you can use powershell, azure cli, azure cli2, azure sdk to deploy those templates (or simply Azure portal, search for "Template Deployment")

an error when i try deploy ADF project with dependencies

When I try to deploy ADF project from visual studio to azure, I get the error:
21.02.2017 13:03:32- Publishing Project 'MyProj.DataFactory'....
21.02.2017 13:03:32- Validating 10 json files
21.02.2017 13:03:37- Publishing Project 'MyProj.DataFactory' to Data Factory 'MyProjDataFactory'
21.02.2017 13:03:37- Starting upload of Dependency D:\Sources\MyProjDataFactory\Dependencies\ParseMyData.usql
The dependency is Azure Data Lake Analytics U-SQL script.
Where are the dependencies stored in azure?
UPDATE:
When i try to orchestrate a U-SQL stored proc instead of script the visual studio validator trows me the error on build:
You have a couple of options here.
1) Store the USQL file in Azure Blob Storage. In which case you'll need a linked service in your Azure Data Factory to blobs. Then upload the file manually or add the file to your Visual Studio project dependencies for data factory. Unfortunately this will mean the USQL becomes static in the ADF project and not linked in any way to your ADL project so be careful.
2) The simplest way is just to in line the USQL code directly in the ADF JSON. Again is means you'll need to manually refresh code from the ADL project.
3) My preferred approach... Create the USQL as a stored procedure in the Azure Data Lake Analytics service. Then reference the proc in the JSON using [database].[schema].[procname]. You can also pass parameters to the proc from ADF. For example the time slice. This also assumes you already have ADL setup as a linked service in ADF.
Hope this helps.
I have a blog post about the 3rd options and passing params here if your interested: http://www.purplefrogsystems.com/paul/2017/02/passing-parameters-to-u-sql-from-azure-data-factory/
Thanks