{"id":103159,"date":"2024-07-17T21:35:01","date_gmt":"2024-07-17T21:35:01","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=103159"},"modified":"2024-09-03T20:15:15","modified_gmt":"2024-09-03T20:15:15","slug":"microsoft-fabric-moving-dataflows-gen-2-to-different-workspaces","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/microsoft-fabric-moving-dataflows-gen-2-to-different-workspaces\/","title":{"rendered":"Microsoft Fabric: Moving Dataflows Gen 2 to different workspaces"},"content":{"rendered":"<p><strong>Dataflows Gen 2<\/strong> are not supported by source control and deployment pipelines yet.<\/p>\n<p>When we need to promote a dataflow from Dev to Test and Prod, we need to move the dataflow manually.<\/p>\n<p>However, the dataflows don\u2019t have a <strong>Save As<\/strong> feature. It&#8217;s possible to edit the JSON from the queries, but it would need to be one by one, so it&#8217;s not the best option.<\/p>\n<p>Let&#8217;s see the steps needed to move a dataflow from one workspace to another. For a matter of example, let&#8217;s consider the dataflow access a lakehouse on the Dev environment. When copied to the Test environment, the new copy needs to be linked to a new dataflow in the Test environment.<\/p>\n<p>Check the steps to copy a Dataflow Gen 2 to another workspace:<\/p>\n<ul>\n<li>Open the lakehouse on the Test workspace and copy its URL. You will need it later. The URL contains the Workspace Id (after groups) and the lakehouse Id (after lakehouses)<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"95\" class=\"wp-image-103160\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/word-image-103159-1.png\" \/><\/p>\n<ul>\n<li>Export the dataflow Gen 2 as a template<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"129\" height=\"108\" class=\"wp-image-103161\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/word-image-103159-2.png\" \/><\/p>\n<p>A file with a PQT extension will be downloaded<\/p>\n<ul>\n<li>On the Test workspace, create a new Dataflow Gen 2<\/li>\n<li>Click on the link in the middle of the window to Import the template &#8211; the PQT file<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"925\" height=\"277\" class=\"wp-image-103162\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/word-image-103159-3.png\" \/><\/p>\n<p>Repeat the steps below for each query:<\/p>\n<ul>\n<li>Select the Navigation1 step<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"205\" height=\"337\" class=\"wp-image-103163\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/word-image-103159-4.png\" \/><\/p>\n<ul>\n<li>Change the workspace Id on this step using the workspace Id from the captured lakehouse URL<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"775\" height=\"40\" class=\"wp-image-103164\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/word-image-103159-5.png\" \/><\/p>\n<ul>\n<li>Select the Navigation 2 step<\/li>\n<li>Change the lakehouse Id using the Id captured from the Test lakehouse URL<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"37\" class=\"wp-image-103165\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/07\/word-image-103159-6.png\" \/><\/p>\n<ul>\n<li>Adjust the dataflow name and publish<\/li>\n<\/ul>\n<h2>Summary<\/h2>\n<p>The process is a bit complex, or at least, more complex than we would expect for a simple promotion from one environment to another.<\/p>\n<p>However, we hope to only need this process during a short period, while we wait the dataflow support in the source control and deployment pipelines.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dataflows Gen 2 are not supported by source control and deployment pipelines yet. When we need to promote a dataflow from Dev to Test and Prod, we need to move the dataflow manually. However, the dataflows don\u2019t have a Save As feature. It&#8217;s possible to edit the JSON from the queries, but it would need&#8230;&hellip;<\/p>\n","protected":false},"author":50808,"featured_media":103262,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,159164,159166],"tags":[145486,4472,4824,158997,101611],"coauthors":[6810],"class_list":["post-103159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogs","category-microsoft-fabric","category-powerbi","tag-data-factory","tag-dataflow","tag-etl","tag-microsoft-fabric","tag-power-bi"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/103159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/50808"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=103159"}],"version-history":[{"count":1,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/103159\/revisions"}],"predecessor-version":[{"id":103166,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/103159\/revisions\/103166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/103262"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=103159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=103159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=103159"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=103159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}