{"id":135,"date":"2024-08-21T10:19:28","date_gmt":"2024-08-21T09:19:28","guid":{"rendered":"https:\/\/adorobi.com\/?page_id=135"},"modified":"2024-10-18T12:01:42","modified_gmt":"2024-10-18T11:01:42","slug":"home","status":"publish","type":"page","link":"https:\/\/adorobi.com\/","title":{"rendered":"Home"},"content":{"rendered":"

[et_pb_section fb_built=”1″ _builder_version=”4.27.0″ _module_preset=”default” background_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” background_size=”stretch” background_position=”top_right” custom_margin=”|||-20px|false|false” animation_direction=”right” locked=”off” global_colors_info=”{}”][et_pb_row admin_label=”Top” _builder_version=”4.23.1″ _module_preset=”default” min_height=”185.3px” custom_margin=”-26px|auto|-22px|auto|false|false” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Technology to Talk About” highlight_shape=”double” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#777777″ highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.23.1″ _module_preset=”default” all_text_text_color=”#000000″ all_text_font_size=”24px” custom_margin=”20px||||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ disabled_on=”off|off|off” admin_label=”Latest Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”-85px|auto|-22px|auto|false|false” custom_padding=”0px|||||” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”25%” height=”70px” custom_margin=”-15px||||false|false” custom_margin_tablet=”-15px||||false|false” custom_margin_phone=”-15px||||false|false” custom_margin_last_edited=”on|desktop” animation_style=”fade” animation_duration=”400ms” hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”Latest Posts” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/latest-posts.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Latest Posts” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” disabled_on=”off|off|off” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”|||-270px|false|false” custom_margin_tablet=”|||-270px|false|false” custom_margin_phone=”-80px|||125px|false|false” custom_margin_last_edited=”on|phone” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=”off|off|off” admin_label=”Latest Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”3px|auto||auto||” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][dipi_blog_slider posts_number=”3″ include_categories=”22,35,57,24,25,26,27,28,29,51,23,60,61,30,31,32,33,34,62,36,37,38,39″ image_clickable=”off” excerpt_length=”210″ show_author=”off” show_date=”off” date_right_space=”-9px” date_top_space=”-7px” columns=”3″ space_between=”25″ container_padding=”|35px|5px||false|false” item_padding=”0px||5px|0px|false|false” loop=”on” navigation=”on” navigation_on_hover=”on” dynamic_bullets=”off” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-20px” navigation_position_right=”-12px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|tablet” disabled_on=”off|off|off” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”|||0px|false|false” hover_enabled=”0″ box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}” sticky_enabled=”0″][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ disabled_on=”off|off|off” admin_label=”Artificial Intelligence Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”-26px||-22px||false|false” locked=”off” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”20%” height=”70px” custom_margin=”-8px||||false|false” animation_style=”fade” animation_duration=”400ms” auto=”on” auto_speed=”5000″ hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”Azure AI” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/artificial-intelligence1.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Artificial Intelligence” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”-35px|||-275px|false|false” custom_margin_tablet=”” custom_margin_phone=”-130px|||115px|false|false” custom_margin_last_edited=”on|desktop” custom_padding=”53px||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=”off|off|off” admin_label=”Artificial Intelligence Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”3px|auto||auto||” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text admin_label=”Blurb” _builder_version=”4.23.1″ _module_preset=”default” text_text_color=”#000000″ custom_margin=”||15px||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”]<\/p>\nArtificial intelligence is the computer simulation of human intelligence processes. Specific applications of AI include expert systems, natural language processing, speech recognition and machine vision.\n

[\/et_pb_text][dipi_blog_slider include_categories=”22″ image_clickable=”off” use_thumbnails=”on” excerpt_length=”210″ date_circle_color=”RGBA(255,255,255,0)” date_right_space=”-9px” date_top_space=”210px” columns=”3″ space_between=”25″ container_padding=”10px|25px|20px|0px|false|false” item_padding=”0px||20px|0px|false|false” loop=”on” autoplay=”on” navigation=”on” navigation_on_hover=”on” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-30px” navigation_position_right=”-5px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|phone” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”||||false|false” box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}”][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ admin_label=”Azure\/Fabric\/Entra Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”-26px||-22px||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”20%” height=”70px” custom_margin=”25px||||false|false” animation_style=”fade” animation_duration=”400ms” auto=”on” auto_speed=”5000″ hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”Azure AI” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-ai1.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Microsoft Entra” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/microsoft-entra.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Microsoft Fabric” image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/microsoft-fabric.png” _builder_version=”4.23.1″ _module_preset=”default” background_enable_color=”off” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/microsoft-fabric.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Azure Networking” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-networking.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Azure Data Factory” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-data-factory.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Azure Synapse” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-synapse.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Azure SQL Database” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-sql-database.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Azure Logic Apps” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-logic-apps.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Azure DevOps” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/azure-devops.png” background_enable_image=”on” background_size=”contain” custom_css_main_element=”animation-name:fadeIn;” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Azure\/Fabric\/Entra” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”-5px|||-275px|false|false” custom_margin_tablet=”” custom_margin_phone=”-130px|||115px|false|false” custom_margin_last_edited=”on|desktop” custom_padding=”53px||||false|false” custom_padding_tablet=”” custom_padding_phone=”” custom_padding_last_edited=”on|phone” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=”Azure\/Fabric\/Entra Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”3px|auto||auto|false|false” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text admin_label=”Blurb” _builder_version=”4.23.1″ _module_preset=”default” text_text_color=”#000000″ custom_margin=”||||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”]<\/p>\nAzure is a cloud computing platform and an online portal that allows you to access and manage cloud services and resources provided by Microsoft.\r\n\r\nFabric is an AI-powered unified data analytics platform from Microsoft combining Power BI, Azure Synapse and Azure Data Factory into a single environment.\r\n\r\nEntra is Microsoft\u2019s cloud based identity and access management combining Azure AD, Cloud Infrastructure Entitlement Management (CIEM) and Decentralized Identity.\n

[\/et_pb_text][dipi_blog_slider include_categories=”35,51,23,24,25,26,27,28,29,57″ image_clickable=”off” use_thumbnails=”on” excerpt_length=”210″ date_circle_color=”RGBA(255,255,255,0)” date_right_space=”-9px” date_top_space=”210px” columns=”3″ space_between=”25″ container_padding=”1px|25px|20px|0px|false|false” item_padding=”0px||20px|0px|false|false” loop=”on” autoplay=”on” navigation=”on” navigation_on_hover=”on” dynamic_bullets=”off” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-30px” navigation_position_right=”-5px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|desktop” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”||||false|false” box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}”][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ admin_label=”Data Management Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”-26px||-22px||false|false” locked=”off” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”20%” height=”70px” custom_margin=”-8px||||false|false” animation_style=”fade” animation_duration=”400ms” auto=”on” auto_speed=”5000″ hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”Databases” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/databases1.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Data Modelling” _builder_version=”4.23.1″ _module_preset=”default” background_color=”RGBA(255,255,255,0)” background_enable_color=”on” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/data-modelling.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Data Management” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”-35px|||-275px|false|false” custom_margin_tablet=”” custom_margin_phone=”-130px|||115px|false|false” custom_margin_last_edited=”on|desktop” custom_padding=”53px||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=”off|off|off” admin_label=”Data Management Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”3px|auto||auto||” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text admin_label=”Blurb” _builder_version=”4.23.1″ _module_preset=”default” text_text_color=”#000000″ custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”]<\/p>\nData management is the practice of collecting, organizing, and accessing data to support productivity, efficiency, and decision-making.\n

[\/et_pb_text][dipi_blog_slider include_categories=”31,30″ image_clickable=”off” use_thumbnails=”on” excerpt_length=”210″ date_circle_color=”RGBA(255,255,255,0)” date_right_space=”-9px” date_top_space=”210px” columns=”3″ space_between=”25″ container_padding=”1px|25px|20px|0px|false|false” item_padding=”0px||20px|0px|false|false” loop=”on” autoplay=”on” navigation=”on” navigation_on_hover=”on” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-30px” navigation_position_right=”-50px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|phone” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”||||false|false” box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}”][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ admin_label=”Dashboarding Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”-26px||-22px||false|false” locked=”off” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”20%” height=”70px” custom_margin=”-8px||||false|false” animation_style=”fade” animation_duration=”400ms” auto=”on” auto_speed=”5000″ hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”Power BI” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/power-bi.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Tableau” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”https:\/\/adorobi.com\/wp-content\/uploads\/blogs\/thumbnails\/home\/tableau.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Dashboarding” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”-35px|||-275px|false|false” custom_margin_tablet=”” custom_margin_phone=”-130px|||115px|false|false” custom_margin_last_edited=”on|phone” custom_padding=”53px||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=”Dashboarding Posts” _builder_version=”4.23.1″ _module_preset=”default” custom_margin=”3px|auto||auto||” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text admin_label=”Blurb” _builder_version=”4.23.1″ _module_preset=”default” text_text_color=”#000000″ custom_margin=”||15px||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”]<\/p>\nA dashboard is an information management tool that receives data from one or more datasources to provide data visualizations. It typically offers various information levels that end users can use to answer questions.\n

[\/et_pb_text][dipi_blog_slider include_categories=”32,33″ image_clickable=”off” use_thumbnails=”on” excerpt_length=”210″ date_circle_color=”RGBA(255,255,255,0)” date_right_space=”-9px” date_top_space=”210px” columns=”3″ space_between=”25″ container_padding=”1px|25px|20px|0px|false|false” item_padding=”0px||20px|0px|false|false” loop=”on” autoplay=”on” navigation=”on” navigation_on_hover=”on” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-30px” navigation_position_right=”-5px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|phone” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”||||false|false” box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}”][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ disabled_on=”off|off|off” admin_label=”Applications Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”-26px||-22px||false|false” locked=”off” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”20%” height=”70px” custom_margin=”-8px||||false|false” animation_style=”fade” animation_duration=”400ms” auto=”on” auto_speed=”5000″ hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”Microservices” image=”\/wp-content\/uploads\/blogs\/thumbnails\/home\/microservices.png” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”\/wp-content\/uploads\/blogs\/thumbnails\/home\/microservices.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Applications” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”-40px|||-275px|false|false” custom_margin_tablet=”” custom_margin_phone=”-130px|||115px|false|false” custom_margin_last_edited=”on|phone” custom_padding=”53px||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=”off|off|off” admin_label=”Applications Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”3px|auto||auto||” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text admin_label=”Blurb” _builder_version=”4.23.1″ _module_preset=”default” text_text_color=”#000000″ custom_margin=”||15px||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”]<\/p>\n\n

[\/et_pb_text][dipi_blog_slider include_categories=”34″ image_clickable=”off” use_thumbnails=”on” excerpt_length=”210″ date_circle_color=”#0C71C3″ date_right_space=”-9px” date_top_space=”210px” columns=”3″ space_between=”25″ container_padding=”1px|25px|20px|0px|false|false” item_padding=”0px||20px|0px|false|false” loop=”on” autoplay=”on” navigation=”on” navigation_on_hover=”on” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-30px” navigation_position_right=”-5px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|phone” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”||||false|false” box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}”][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=”1_3,2_3″ disabled_on=”off|off|off” admin_label=”Coding Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”-26px||-22px||false|false” locked=”off” global_colors_info=”{}”][et_pb_column type=”1_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][et_pb_slider show_arrows=”off” show_pagination=”off” show_content_on_mobile=”off” show_cta_on_mobile=”off” disabled_on=”off|off|off” admin_label=”Images” _builder_version=”4.27.0″ _module_preset=”default” header_text_color=”#000000″ header_font_size=”0px” width=”20%” height=”70px” custom_margin=”-8px||||false|false” animation_style=”fade” animation_duration=”400ms” auto=”on” auto_speed=”5000″ hover_transition_speed_curve=”ease-in-out” locked=”off” global_colors_info=”{}”][et_pb_slide heading=”PowerShell” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”\/wp-content\/uploads\/blogs\/thumbnails\/home\/powershell1.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”SQL” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”\/wp-content\/uploads\/blogs\/thumbnails\/home\/sql1.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”Python” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”\/wp-content\/uploads\/blogs\/thumbnails\/home\/python.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][et_pb_slide heading=”YAML” _builder_version=”4.27.0″ _module_preset=”default” background_enable_color=”off” background_image=”\/wp-content\/uploads\/blogs\/thumbnails\/home\/yaml2.png” background_enable_image=”on” background_size=”contain” locked=”off” global_colors_info=”{}” sticky_transition=”on”][\/et_pb_slide][\/et_pb_slider][\/et_pb_column][et_pb_column type=”2_3″ _builder_version=”4.23.1″ _module_preset=”default” global_colors_info=”{}”][dipi_text_highlighter text_highlighter_text=”Coding” highlight_shape=”brush” highlight_animation_delay=”250ms” highlight_animation_duration=”1000ms” highlight_animation_repeat_mode=”definite” highlight_animation_repeat_counts=”1″ reverse_animation=”on” stroke_color=”#1484ce” stroke_width=”40px” highlight_line_cap=”butt” admin_label=”Header” _builder_version=”4.27.0″ _module_preset=”default” all_text_text_color=”#FFFFFF” all_text_font_size=”20px” custom_margin=”-35px|||-275px|false|false” custom_margin_tablet=”” custom_margin_phone=”-130px|||115px|false|false” custom_margin_last_edited=”on|phone” custom_padding=”53px||||false|false” locked=”off” global_colors_info=”{}”][\/dipi_text_highlighter][\/et_pb_column][\/et_pb_row][et_pb_row disabled_on=”off|off|off” admin_label=”Coding Posts” _builder_version=”4.27.0″ _module_preset=”default” custom_margin=”3px|auto||auto||” custom_padding=”3px|||||” locked=”off” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text admin_label=”Blurb” _builder_version=”4.27.0″ _module_preset=”default” text_text_color=”#000000″ custom_margin=”||15px||false|false” custom_padding=”||||false|false” locked=”off” global_colors_info=”{}”]<\/p>\n\n

[\/et_pb_text][dipi_blog_slider include_categories=”39,38,37,36″ image_clickable=”off” use_thumbnails=”on” excerpt_length=”210″ date_circle_color=”RGBA(255,255,255,0)” date_right_space=”-9px” date_top_space=”210px” columns=”3″ space_between=”25″ container_padding=”1px|25px|20px|0px|false|false” item_padding=”0px||20px|0px|false|false” loop=”on” autoplay=”on” navigation=”on” navigation_on_hover=”on” centered=”on” navigation_prev_icon_yn=”on” navigation_prev_icon=”4||divi||400″ navigation_next_icon_yn=”on” navigation_next_icon=”5||divi||400″ navigation_size=”35″ navigation_color=”#000000″ navigation_position_left=”-30px” navigation_position_right=”-5px” columns_tablet=”2″ columns_phone=”1″ columns_last_edited=”on|phone” admin_label=”Posts” _builder_version=”4.27.0″ _module_preset=”default” header_font=”|600|||||||” header_text_color=”#000000″ header_font_size=”18px” body_text_color=”#000000″ cat_text_color=”#0C71C3″ date_text_color=”#828282″ background_enable_image=”off” background_size=”contain” background_repeat=”space” custom_button=”on” button_text_size=”10px” button_text_color=”#000000″ button_bg_image=”\/wp-content\/uploads\/system\/backgrounds\/page-background1.jpg” button_use_icon=”off” button_alignment=”right” min_height=”397.8px” custom_margin=”2px||||false|false” custom_padding=”||||false|false” box_shadow_style_item=”preset3″ box_shadow_blur_item=”10px” box_shadow_spread_item=”-10px” locked=”off” global_colors_info=”{}”][\/dipi_blog_slider][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\tTechnology to Talk About<\/span><\/path><\/path><\/svg><\/span><\/span>\n\t\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t<\/div>
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\tLatest Posts<\/span><\/svg><\/span><\/span>\n\t\t\t<\/h2>\n\t\t\t\t<\/div>\n\t\t\t<\/div>
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t
\n\t\t
\n\t\t
\n\t\t \n
\n
\n\n\t\n
\n <\/div>\n\n \n<\/div>
\n
\n Az Synapse<\/a>, PowerShell<\/a> <\/div>\n

\n \n Gracefully delete all pipelines from a Synapse workspace that has pipeline to pipeline dependencies <\/a>\n<\/h2>
\nAs you build out a Synapse workspace, you will inevitably start to create a dependency model between pipelines. When deploying artefacts to the workspace, you may need to clear down the existing content before the deployment. This article provides a code solution to deleting all pipelines in a Synapse workspace, \n\n\n\nYou could use CLI functions az synapse pipeline list and az synapse pipeline delete in a list and delete loop. This is a 'brute force' approach, that will work eventually, but will need to be allowed to loop many times over many hours (depending on the pipeline count and number of dependencies) to clear down the pipelines.\n\n\n\nA more graceful way is to identify the dependent pipelines during the deletion process and to move through the dependency chain, until a non-dependent pipeline is found that can be deleted.\n\n\n\nThis simple example has Pipeline 2 being called from Pipeline 1.\n\n\n\n\n\n\n\nThe code does the following:\n\n\n\n\nBuild an initial list and count of workspace pipelines.\n\n\n\nIterate the pipeline list one at a time.\n\n\n\nA deletion call is made for each pipeline.\n\n\n\nSuccessfully deleted pipelines are added to a deleted pipelines list.\n\n\n\nIf the deletion is unsuccessful, the dependent pipeline is retrieved from the error message and a call is made to delete this pipeline if it isn't in the deleted pipelines list. The process works through the dependency hierarchy until a non-dependent pipeline can be deleted. Pipelines that can't be deleted are added to a locked pipelines list for this dependency hierarchy.\n\n\n\nThe process continues, until the workspace pipeline list has been exhausted. The list is refreshed again and the process restarted, until all pipelines are removed.\n\n\n\n\n$deletedPipelines = [PSCustomObject]@()\n$pipelines = Get-AzSynapsePipeline -WorkspaceName ${{ variables.target_synapse_workspace_name }}\n$totalPipelines = ($pipelines).count\n\nWrite-Host "`n> Starting workspace pipeline deletion process"\nWrite-Host "> $totalPipelines pipelines found in workspace"\n\nif ($totalPipelines -eq 0) {\n Write-Host "> Nothing to do."\n}\nelse {\n Write-Host "> This will take some time...`n"\n\n do {\n for ($i = 0; $i -lt $pipelines.count; $i++) {\n $pipeline = $pipelines[$i].Name\n $lookup = ($deletedPipelines | Where-Object { $_.deletedPipeline -eq $pipeline }).count\n $pipelineNo = $i+1\n\n if ($lookup -eq 0) {\n Write-Host "> Processing pipeline $pipelineNo of $totalPipelines"\n $lockedPipelines = [PSCustomObject]@()\n DeletePipeline $pipeline\n }\n }\n\n $pipelines = Get-AzSynapsePipeline -WorkspaceName ${{ variables.target_synapse_workspace_name }}\n $totalPipelines = ($pipelines).count\n\n if ($totalPipelines -ne 0) {\n Write-Host "> Restarting Process Loop...`n"\n }\n } until (\n $pipelines.count -eq 0\n )\n}\nWrite-Host ">> Complete"\n\n\n\n\n\n\n\nfunction DeletePipeline {\n param (\n [Parameter(Mandatory=$true)][string]$pipeline\n )\n try {\n $isDeletedPipeline = ($deletedPipelines | Where-Object { $_.deletedPipeline -eq $pipeline }).count\n\n if ($isDeletedPipeline -eq 0) {\n write-host ">> Attempting to delete '$pipeline'"\n \n $deletePipeline = "Remove-AzSynapsePipeline `\n -WorkspaceName ${{ variables.target_synapse_workspace_name }} `\n -Name ""$pipeline"" `\n -Force `\n -ErrorAction Stop"\n Invoke-Expression $deletePipeline\n\n Write-Host ">> '$pipeline' deleted`n"\n \n $deletedPipelines += [PSCustomObject]@{\n deletedPipeline = $pipeline\n }\n }\n else {\n write-host ">> '$pipeline' has already been deleted!`n"\n } \n }\n catch {\n if ($_ -match '.*The document cannot be deleted since it is referenced by.*') {\n $errorString = ($_.Exception.Message.Replace('"','')).Replace('.','')\n $dependentPipeline = RetrievePipelineName `\n -startString "referenced by" `\n -endString "}}" `\n -fullString $errorString\n\n if ($dependentPipeline.length -ne 0) {\n Write-Host ">> '$pipeline' depends on '$dependentPipeline'"\n\n $isDeletedPipeline = ($deletedPipelines | Where-Object { $_.deletedPipeline -eq $dependentPipeline }).count\n $isLockedPipeline = ($lockedPipelines | Where-Object { $_.lockedPipeline -eq $dependentPipeline }).count\n\n $lockedPipelines += [PSCustomObject]@{\n lockedPipeline = $pipeline\n }\n\n if ($isDeletedPipeline -eq 0 -and $isLockedPipeline -eq 0) {\n DeletePipeline $dependentPipeline\n }\n else {\n Write-Host ">> '$dependentPipeline' is dependency locked! Requeuing it for deletion.`n"\n }\n }\n } else {\n Write-Host ">>> Error <<< '$pipeline' cant be deleted!"\n Write-Host ">>>"\n Write-Host $_.Exception.Message\n Write-Host "<<<`n"\n }\n }\n}\n\n\n\nThe deletion attempt of Pipeline 2, generates a standard dependency error message, which contains the dependent pipeline name. \n\n\n\n\n\n\n\nThe pipeline name can be retrieved from the error message using this PowerShell function which is called by the DeletePipeline function above. \n\n\n\nfunction RetrievePipelineName($startString, $endString, $fullString){\n $pattern = "$startString(.*?)$endString"\n $dPipeline = [regex]::Match($fullString,$pattern).Groups[1].Value\n return $dPipeline.Trim()\n}<\/div>\n <\/div>\n<\/div>\n
\n
\n\n\t\n
\n <\/div>\n\n \n<\/div>
\n
\n Az Synapse<\/a>, Az DevOps<\/a>, PowerShell<\/a> <\/div>\n

\n \n Clone a dedicated SQL pool between encrypted and resource locked Synapse workspaces <\/a>\n<\/h2>
\nThis post covers the automation of cloning or restoring a Synapse dedicated SQL pool from one workspace to another where locks and encryption exist.\n\n\n\n\n\n\n\nThe steps required by the code are as follows:Variables:$AzTargetWorkspace$TargetResourceGroup$SourceSqlPool$TargetSqlPool\n\n\n\nYAML variables:Target Resource Group = ${{ variables.target_rg }}Target Workspace Full Name = ${{ variables.target_ws_full }}\n\n\n\nYAML variables:Target Resource Group = ${{ variables.target_rg }}Target Workspace Full Name = ${{ variables.target_ws_full }}\n\n\n\n\n\nDelete Resource Lock\n\n\n\n\n\n\n\n\n\n\n\n$resourceLocks = $(az lock list `\n --resource-group ${{ variables.target_rg }} `\n --query "[?name=='lock-${{ variables.target_rg }}']" `\n | ConvertFrom-Json)\n \n$resourceLockExists = $resourceLocks.count -eq 1\n\nif ( $resourceLockExists ) {\n az lock delete `\n --name lock-${{ variables.target_rg }} `\n --resource-group ${{ variables.target_rg }}\n}\n\n\n\n\n\nChange Encryption Key\n\n\n\n\n\n\n\n\n\n\n\nif ( "${{ parameters.target_ws }}" -ne "${{ parameters.source_ws }}" ) {\n #set key vault key name for source workspace\n if ("${{ parameters.source_ws }}" -eq "ws-prod") {\n $sourceWsKvKeyName = "key-synapse-prod"\n }\n elseif ("${{ parameters.source_ws }}" -eq "ws-test") {\n $sourceWsKvKeyName = "key-synapse-test"\n }\n\n #delete inactive keys from target workspace\n $keys = az synapse workspace key list `\n --workspace-name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --only-show-errors | ConvertFrom-Json\n \n for ($i=0; $i -lt $keys.Count; $i++) {\n $wsKeyName = $keys[$i].name\n $isActive = $keys[$i].isActiveCmk\n\n if ($IsActive -eq $false) {\n az synapse workspace key delete `\n --name $WsKeyName `\n --workspace-name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --yes `\n --only-show-errors | Out-Null\n }\n }\n \n #create source workspace key in target workspace\n az synapse workspace key create `\n --name $SourceWsKvKeyName `\n --workspace-name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --key-identifier ${{ variables.kv_url_prefix }}$sourceWsKvKeyName `\n --only-show-errors | Out-Null\n \n #update workspace key\n az synapse workspace update `\n --name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --key-name $sourceWsKvKeyName `\n --only-show-errors | Out-Null\n}\n\n\n\n\n\nManage existing target database\n\n\n\n\n\n\n\n\n\n\n\n$targetPoolExists = Test-AzSynapseSqlPool `\n -WorkspaceName ${{ variables.target_workspace_full_name }} `\n -Name ${{ variables.target_sql_pool }}\nif( $targetPoolExists ) {\n if( "${{ parameters.keep_target_sql_pool }}" -eq $true ) {\n #check status of target sql pool and resume if paused\n $pool = Get-AzSynapseSqlPool `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -Name ${{ variables.target_sql_pool }}\n if ($pool.Status -eq "Paused") {\n\n Resume-AzSynapseSqlPool `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -Name ${{ variables.target_sql_pool }} | Out-Null\n }\n #create restore point name for retained target sql pool\n $restoreDateTime = Get-Date -Format "dd_MM_yyyy_HH.mm"\n $retainedSqlPool = '${{ variables.target_sql_pool }}' + "_" + $restoreDateTime\n \n #create restore point of target sql pool\n New-AzSynapseSqlPoolRestorePoint `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -Name ${{ variables.target_sql_pool }} `\n -RestorePointLabel $az_retained_target_sql_pool | Out-Null\n \n #get database id of restore point\n $pool = Get-AzSynapseSqlPool `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -Name ${{ variables.target_sql_pool }}\n $databaseId = $pool.Id -replace "Microsoft.Synapse", "Microsoft.Sql" `\n -replace "workspaces", "servers" `\n -replace "sqlPools", "databases"\n \n #clone sql pool\n $restorePoint = $pool |\n Get-AzSynapseSqlPoolRestorePoint |\n Where-Object {$PSItem.RestorePointLabel -eq $retainedSqlPool} \n \n Restore-AzSynapseSqlPool `\n -FromRestorePoint `\n -RestorePoint $restore_point.RestorePointCreationDate \n -TargetSqlPoolName $retainedSqlPool `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -ResourceId $databaseId `\n -PerformanceLevel ${{ parameters.database_scale }} | Out-Null\n \n #suspend cloned sql pool\n Suspend-AzSynapseSqlPool `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -Name $retained_sql_pool | Out-Null \n }\n #delete target sql pool\n Remove-AzSynapseSqlPool `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -Name ${{ variables.target_sql_pool }} `\n -Force\n}\n\n\n\n\n\nClone Database\n\n\n\n\n\n\n\n\n\n\n\nif ("$pool.Status" -eq "Paused") {\n Resume-AzSynapseSqlPool `\n -ResourceGroupName ${{ variables.source_rg }} `\n -WorkspaceName ${{ variables.source_ws_full }} `\n -Name ${{ variables.source_sql_pool }} | Out-Null\n}\n\n#create restore point of source sql pool\nNew-AzSynapseSqlPoolRestorePoint `\n -ResourceGroupName ${{ variables.source_rg }} `\n -WorkspaceName ${{ variables.source_ws_full }} `\n -Name ${{ variables.source_sql_pool }} `\n -RestorePointLabel ${{ variables.source_sql_pool }} | Out-Null\n\n#get database id of restore point\n$pool = Get-AzSynapseSqlPool `\n -ResourceGroupName ${{ variables.source_rg }} `\n -WorkspaceName ${{ variables.source_ws_full }} `\n -Name ${{ variables.source_sql_pool }}\n \n$databaseId = $pool.Id -replace "Microsoft.Synapse", "Microsoft.Sql" `\n -replace "workspaces", "servers" `\n -replace "sqlPools", "databases"\n\n#get restore point\n$restorePoint = $Pool | Get-AzSynapseSqlPoolRestorePoint | Select-Object -Last 1\n\n#clone sql pool\nRestore-AzSynapseSqlPool `\n -FromRestorePoint `\n -RestorePoint $restorePoint.RestorePointCreationDate `\n -TargetSqlPoolName ${{ variables.target_sql_pool }} `\n -ResourceGroupName ${{ variables.target_rg }} `\n -WorkspaceName ${{ variables.target_ws_full }} `\n -ResourceId $databaseId `\n -PerformanceLevel ${{ parameters.database_scale }} | Out-Null\n\n\n\n\n\nChange Encryption Key\n\n\n\n\n\n\n\n\n\n\n\nif ( "${{ parameters.target_ws }}" -ne "${{ parameters.source_ws }}" ) {\n #set key vault key name for target workspace\n if ("${{ parameters.target_ws }}" -eq "ws-prod") {\n $targetWsKvKeyName = "key-synapse-prod"\n }\n elseif ("${{ parameters.target_ws }}" -eq "ws-test") {\n $targetWsKvKeyName = "key-synapse-test"\n }\n \n #delete inactive keys from target workspace\n $Keys = az synapse workspace key list `\n --workspace-name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --only-show-errors | ConvertFrom-Json\n\n for ($i=0; $i -lt $Keys.Count; $i++) {\n $wsKeyName = $Keys[$i].name\n $isActive = $Keys[$i].isActiveCmk\n\n if ($isActive -eq $false) {\n az synapse workspace key delete `\n --name $WsKeyName `\n --workspace-name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --yes `\n --only-show-errors | Out-Null\n }\n }\n \n #create source workspace key in target workspace\n az synapse workspace key create `\n --name $targetWsKvKeyName `\n --workspace-name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --key-identifier ${{ variables.kv_url_prefix }}$targetWsKvKeyName `\n --only-show-errors | Out-Null\n \n #update workspace key \n az synapse workspace update `\n --name ${{ variables.target_ws_full }} `\n --resource-group ${{ variables.target_rg }} `\n --key-name $targetWsKvKeyName `\n --only-show-errors | Out-Null\n}\n\n\n\n\n\nReinstate resource lock\n\n\n\n\n\n\n\n\n\n\n\nif ( $$(resourceLockExists) ) {\n az lock create --lock-type CanNotDelete `\n --name lock-${{ variables.target_rg }} `\n --notes "Managed By Azure DevOps Pipelines" `\n --resource-group ${{ variables.target_rg }}\n}<\/div>\n <\/div>\n<\/div>\n\t\t <\/div>\n\t\t <\/div>\n\t\t \n\t\t
\n\t\t \n\t\t <\/div>\n\t\t <\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"dipi_cpt_category":[41],"class_list":["post-135","page","type-page","status-publish","hentry","dipi_cpt_category-home"],"acf":[],"_links":{"self":[{"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/pages\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":56,"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/pages\/135\/revisions"}],"predecessor-version":[{"id":1915,"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/pages\/135\/revisions\/1915"}],"wp:attachment":[{"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/adorobi.com\/wp-json\/wp\/v2\/dipi_cpt_category?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}