{"id":1911,"date":"2026-02-10T10:01:47","date_gmt":"2026-02-10T13:01:47","guid":{"rendered":"https:\/\/alisonpezzott.com.br\/?p=1911"},"modified":"2026-02-10T10:01:51","modified_gmt":"2026-02-10T13:01:51","slug":"como-criar-dominios-no-microsoft-fabric","status":"publish","type":"post","link":"https:\/\/alisonpezzott.com.br\/en\/como-criar-dominios-no-microsoft-fabric\/","title":{"rendered":"Como criar dom\u00ednios no Microsoft Fabric"},"content":{"rendered":"\n<p>No Microsoft Fabric, voc\u00ea pode criar dom\u00ednios e subdom\u00ednios que elevam a governan\u00e7a do seu Tenant, segregando os workspaces de acordo com:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Capacidades <\/li>\n\n\n\n<li>\u00c1reas de neg\u00f3cio<\/li>\n\n\n\n<li>Administradores dos workspaces<\/li>\n\n\n\n<li>Personas ( Engenharia\/BI )<\/li>\n\n\n\n<li>Branches do git<\/li>\n\n\n\n<li>entre outros&#8230;<\/li>\n<\/ul>\n\n\n\n<p>Eu publiquei um v\u00eddeo no  YouTube onde demonstro na pr\u00e1tica a cria\u00e7\u00e3o de dominios. Confira abaixo.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Como criar dom\u00ednios no Microsoft Fabric\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/PE-I6VRQHvM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Como criar utilizando o portal de administra\u00e7\u00e3o<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Para criar dom\u00ednios voc\u00ea precisa ser administrador do Fabric.<\/p>\n<\/blockquote>\n\n\n\n<p>V\u00e1 at\u00e9 o portal de administra\u00e7\u00e3o do Microsoft Fabric<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"414\" height=\"940\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-6.png\" alt=\"\" class=\"wp-image-1912\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-6.png 414w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-6-132x300.png 132w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-6-5x12.png 5w\" sizes=\"(max-width: 414px) 100vw, 414px\" \/><\/figure>\n\n\n\n<p>E encontre a se\u00e7\u00e3o dom\u00ednios e inice a partir do scratch para criar um dom\u00ednio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"514\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7-1024x514.png\" alt=\"\" class=\"wp-image-1913\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7-1024x514.png 1024w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7-300x151.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7-768x386.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7-1536x771.png 1536w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7-18x9.png 18w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-7.png 1870w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"563\" height=\"324\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-8.png\" alt=\"\" class=\"wp-image-1914\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-8.png 563w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-8-300x173.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-8-18x10.png 18w\" sizes=\"(max-width: 563px) 100vw, 563px\" \/><\/figure>\n\n\n\n<p>Voc\u00ea pode dar um nome para o seu dom\u00ednio por exemplo <code>Comercial<\/code> onde vou atribuir todos os workspaces da \u00e1rea Comercial.<\/p>\n\n\n\n<p>Neste momento tamb\u00e9m \u00e9 poss\u00edvel definir os admistradores daquele dom\u00ednio. Os administradores do dom\u00ednio podem alterar as configura\u00e7\u00f5es e adiconar ou remover workspaces do dom\u00ednio. <\/p>\n\n\n\n<p>O dom\u00ednio \u00e9 criado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Atribuindo workspaces ao dom\u00ednio<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-9-1024x283.png\" alt=\"\" class=\"wp-image-1915\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-9-1024x283.png 1024w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-9-300x83.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-9-768x212.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-9-18x5.png 18w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-9.png 1175w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Basta clicar no nome do dom\u00ednio rec\u00e9m-criado e depois em atribuir workspaces.<\/p>\n\n\n\n<p>Nesta tela agora voc\u00ea pode escolher entre 3 formas de atribuir workspaces:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pelo nome dos workspaces<\/li>\n\n\n\n<li>Pelo administrador dos workspaces<\/li>\n\n\n\n<li>Pelas capacidades dos workspaces<\/li>\n<\/ul>\n\n\n\n<p>Atribuir workspaces pelo nome \u00e9 a maneira mais simples e direta. Basta come\u00e7ar a digitar o nome dos workspaces, selecionar os desejados e aplicar. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"572\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-10.png\" alt=\"\" class=\"wp-image-1916\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-10.png 701w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-10-300x245.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-10-15x12.png 15w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/figure>\n\n\n\n<p>Tamb\u00e9m \u00e9 poss\u00edvel atribuir os workspaces ao dom\u00ednio pelo administrador do workspace. No exemplo abaixo quero adicionar pelo Service Principal AppFabric.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"491\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-11.png\" alt=\"\" class=\"wp-image-1917\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-11.png 684w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-11-300x215.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-11-18x12.png 18w\" sizes=\"(max-width: 684px) 100vw, 684px\" \/><\/figure>\n\n\n\n<p>A \u00faltima forma \u00e9 pela capacidade do workspace. Voce seleciona a capacidade desejada e aplica. Todos os workspaces cujo aquela capacidade est\u00e1 atribu\u00edda fara parte do dom\u00ednio. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"702\" height=\"878\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-12.png\" alt=\"\" class=\"wp-image-1918\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-12.png 702w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-12-240x300.png 240w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-12-10x12.png 10w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Subdom\u00ednios  <\/h2>\n\n\n\n<p>Dentro de um dom\u00ednio \u00e9 poss\u00edvel criar subdom\u00ednios, ou seja, uma subdivis\u00e3o dentro daquele dom\u00ednio. <\/p>\n\n\n\n<p>No exemplo abaixo estou criando subdom\u00ednios de engenharia e BI para dividir os workloads em cada subdom\u00ednio.<\/p>\n\n\n\n<p>Basta clicar em criar subdom\u00ednio, dar o nome desejado. Ser\u00e3o mostrados como se fossem pastas dentro do dom\u00ednio. <\/p>\n\n\n\n<p>Voc\u00ea selecionar e mover os workspaces para o subdom\u00ednio clicando no bot\u00e3o mover para.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"416\" height=\"549\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-13.png\" alt=\"\" class=\"wp-image-1919\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-13.png 416w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-13-227x300.png 227w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-13-9x12.png 9w\" sizes=\"(max-width: 416px) 100vw, 416px\" \/><\/figure>\n\n\n\n<p>Note a hierarquia demonstrada com os workspaces atribu\u00eddos no subdom\u00ednio.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"515\" height=\"372\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-14.png\" alt=\"\" class=\"wp-image-1920\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-14.png 515w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-14-300x217.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-14-18x12.png 18w\" sizes=\"(max-width: 515px) 100vw, 515px\" \/><\/figure>\n\n\n\n<p>Quando criamos dom\u00ednios e subdom\u00ednios podemos fixar na exibi\u00e7\u00e3o dos workspaces usando os filtros. Fica muito mais organizado!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"627\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-15.png\" alt=\"\" class=\"wp-image-1922\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-15.png 786w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-15-300x239.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-15-768x613.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-15-15x12.png 15w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/figure>\n\n\n\n<p>Outra forma de atribuir workspaces a um dom\u00ednio ou subdom\u00ednio j\u00e1 criado \u00e9 entrando pelas configura\u00e7\u00f5es dos workspaces e escolhendo o dom\u00ednio.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-16-1024x560.png\" alt=\"\" class=\"wp-image-1923\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-16-1024x560.png 1024w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-16-300x164.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-16-768x420.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-16-18x10.png 18w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-16.png 1055w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Importante! Um workspace pode estar em apenas um dom\u00ednio ou subdom\u00ednio, ou seja, um mesmo workspace n\u00e3o poder pertencer a mais de um dom\u00ednio, por isso a estrat\u00e9gia de divis\u00e3o de dom\u00ednios deve ser sempre bem pensada e alinhada com o administrador do Tenant. <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Outras configura\u00e7\u00f5es <\/h2>\n\n\n\n<p>Retornando ao portal de administra\u00e7\u00e3o, entre no dom\u00ednio e clique configura\u00e7\u00f5es do dom\u00ednio.<\/p>\n\n\n\n<p>Al\u00e9m de alterar o nome na aba geral e colocar uma descri\u00e7\u00e3o \u00e9 poss\u00edvel:<\/p>\n\n\n\n<p>Definir uma imagem de capa para seu dom\u00ednio que  ir\u00e1 aparecer no menu do workspaces.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1022\" height=\"416\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-17.png\" alt=\"\" class=\"wp-image-1924\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-17.png 1022w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-17-300x122.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-17-768x313.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-17-18x7.png 18w\" sizes=\"(max-width: 1022px) 100vw, 1022px\" \/><\/figure>\n\n\n\n<p>Definir os administradores do dom\u00ednio. Estes podem alterar as configura\u00e7\u00f5es e adicionar ou removers workspaces do dom\u00ednio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"351\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-18.png\" alt=\"\" class=\"wp-image-1925\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-18.png 1019w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-18-300x103.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-18-768x265.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-18-18x6.png 18w\" sizes=\"(max-width: 1019px) 100vw, 1019px\" \/><\/figure>\n\n\n\n<p>Pode ainda definir os contribuidores. Os contribuidores podem atribuir workspaces para um dom\u00ednio a partir das configura\u00e7\u00f5es do workspaces.<\/p>\n\n\n\n<p>Esta op\u00e7\u00e3o por padr\u00e3o vem para toda a organiza\u00e7\u00e3o, mas pode ser alterado para pessoas ou grupos espec\u00edficos ou ainda restringir somente para os administradores do Tenant e dom\u00ednio somente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"845\" height=\"473\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-19.png\" alt=\"\" class=\"wp-image-1926\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-19.png 845w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-19-300x168.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-19-768x430.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-19-18x10.png 18w\" sizes=\"(max-width: 845px) 100vw, 845px\" \/><\/figure>\n\n\n\n<p>A \u00faltima op\u00e7\u00e3o \u00e9 para que voc\u00ea possa especificar usu\u00e1rios e\/ou grupos cujos novos workspaces que eles criarem e n\u00e3o forem atribu\u00eddos a nenhum dom\u00ednio sejam atribu\u00eddos a este dom\u00ednio por padr\u00e3o. Este \u00e9 recurso \u00fatil para definir que qualquer dom\u00ednio criado por um Service Principal por exemplo seja atribu\u00eddo a ele.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"362\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-20-1024x362.png\" alt=\"\" class=\"wp-image-1927\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-20-1024x362.png 1024w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-20-300x106.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-20-768x271.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-20-18x6.png 18w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-20.png 1027w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>O menu de configura\u00e7\u00f5es dos subdom\u00ednios seguem o mesmo padr\u00e3o dos dom\u00ednios por\u00e9m n\u00e3o possui a op\u00e7\u00e3o de adicionar imagem e de administradores do dom\u00ednio pois herdam do n\u00edvel superior.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Criando dom\u00ednios e subdom\u00ednios com PyFabricOps  <\/h2>\n\n\n\n<p>Utilizando a biblioteca PyFabricOps voc\u00ea pode criar dom\u00ednios e atribuir workspaces programaticamente utilizando os notebooks.<\/p>\n\n\n\n<p>Confira neste artigo como instalar: <a href=\"https:\/\/alisonpezzott.com.br\/pyfabricops-na-pratica-automatizando-microsoft-fabric-e-power-bi-com-python-e-rest-apis\/\">pyFabricOps na pr\u00e1tica: Automatizando Microsoft Fabric e Power BI com Python e REST APIs \u2013 Alison Pezzott<\/a>  <\/p>\n\n\n\n<p>Crie um notebook no Microsoft Fabric e cole o c\u00f3digo abaixo:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2c2c2c;color:#a37ced\">Python<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Install if you haven't already.\n%pip install -U -qq pyfabricops \n\n# Authentication\nimport pyfabricops as pf\npf.set_auth_provider(\"fabric\")\n\n# Setup logger\npf.setup_logging('info', 'minimal') \nlogger = pf.get_logger(__name__)\n\ndomain = \"Comercial\"\nsubdomains = [\n  {\n    \"name\": \"Engenharia\",\n    \"workspaces\":  &#91;\"Comercial-ENG-DEV\", \"Comercial-ENG-PRD\"&#93; \n  },\n  {\n    \"name\": \"BI\", \n    \"workspaces\": &#91;\"Comercial-BI-DEV\", \"Comercial-BI-PRD\"&#93;\n  } \n]\n\n# Check if domain exists, if not create it\ndomain_id = pf.get_domain_id(domain)\nif not domain_id:\n    domain_created = pf.create_domain(domain, df=False) \n    if domain_created:\n        domain_id = domain_created&#91;'id'&#93;\n        logger.success(f'Domain {domain} created with ID {domain_id}')\n\n# Create subdomains\nfor subdomain in subdomains:\n    subdomain_id = pf.get_domain_id(subdomain&#91;\"name\"&#93;)\n    if not subdomain_id:\n        subdomain_created = pf.create_domain(subdomain&#91;\"name\"&#93;, parent_domain=domain_id, df=False)\n        if subdomain_created:\n            subdomain_id = subdomain_created&#91;'id'&#93;\n            logger.success(f'Subdomain {subdomain&#91;\"name\"&#93;} created with ID {subdomain_id}')\n        \n    # Assign workspaces\n    ws_ids = []\n    for ws in subdomain&#91;\"workspaces\"&#93;:\n        ws_id = pf.get_workspace_id(ws)\n        if ws_id is not None:\n            ws_ids.append(ws_id)\n        if len(ws_ids) > 0:\n            pf.assign_domain_workspaces_by_ids(subdomain_id, ws_ids)\n            logger.success(f'Workspaces {subdomain&#91;\"workspaces\"&#93;} successfully assigned to domain {domain}\/{subdomain&#91;\"name\"&#93;}')\n\n            <\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6B737C\"># Install if you haven&#39;t already.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">%<\/span><span style=\"color: #B392F0\">pip install <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">U <\/span><span style=\"color: #F97583\">-<\/span><span style=\"color: #B392F0\">qq pyfabricops <\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\"># Authentication<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">import<\/span><span style=\"color: #B392F0\"> pyfabricops <\/span><span style=\"color: #F97583\">as<\/span><span style=\"color: #B392F0\"> pf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">set_auth_provider<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #FFAB70\">&quot;fabric&quot;<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\"># Setup logger<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">setup_logging<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #FFAB70\">&#39;info&#39;<\/span><span style=\"color: #BBBBBB\">, <\/span><span style=\"color: #FFAB70\">&#39;minimal&#39;<\/span><span style=\"color: #BBBBBB\">)<\/span><span style=\"color: #B392F0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">logger <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">get_logger<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #79B8FF\">__name__<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">domain <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&quot;Comercial&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">subdomains <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> [<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #BBBBBB\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #FFAB70\">&quot;name&quot;<\/span><span style=\"color: #BBBBBB\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&quot;Engenharia&quot;<\/span><span style=\"color: #BBBBBB\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #FFAB70\">&quot;workspaces&quot;<\/span><span style=\"color: #BBBBBB\">:<\/span><span style=\"color: #B392F0\">  &#91;<\/span><span style=\"color: #FFAB70\">&quot;Comercial-ENG-DEV&quot;<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&quot;Comercial-ENG-PRD&quot;<\/span><span style=\"color: #B392F0\">&#93; <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #BBBBBB\">},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #BBBBBB\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #FFAB70\">&quot;name&quot;<\/span><span style=\"color: #BBBBBB\">:<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&quot;BI&quot;<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #FFAB70\">&quot;workspaces&quot;<\/span><span style=\"color: #BBBBBB\">:<\/span><span style=\"color: #B392F0\"> &#91;<\/span><span style=\"color: #FFAB70\">&quot;Comercial-BI-DEV&quot;<\/span><span style=\"color: #BBBBBB\">,<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #FFAB70\">&quot;Comercial-BI-PRD&quot;<\/span><span style=\"color: #B392F0\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">  <\/span><span style=\"color: #BBBBBB\">}<\/span><span style=\"color: #B392F0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\"># Check if domain exists, if not create it<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">domain_id <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">get_domain_id<\/span><span style=\"color: #BBBBBB\">(domain)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">if<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">not<\/span><span style=\"color: #B392F0\"> domain_id<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    domain_created <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">create_domain<\/span><span style=\"color: #BBBBBB\">(domain, df<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #79B8FF\">False<\/span><span style=\"color: #BBBBBB\">)<\/span><span style=\"color: #B392F0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #F97583\">if<\/span><span style=\"color: #B392F0\"> domain_created<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        domain_id <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> domain_created<\/span><span style=\"color: #BBBBBB\">&#91;<\/span><span style=\"color: #FFAB70\">&#39;id&#39;<\/span><span style=\"color: #BBBBBB\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        logger<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">success<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #F97583\">f<\/span><span style=\"color: #FFAB70\">&#39;Domain <\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">domain<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\"> created with ID <\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">domain_id<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\">&#39;<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6B737C\"># Create subdomains<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F97583\">for<\/span><span style=\"color: #B392F0\"> subdomain <\/span><span style=\"color: #F97583\">in<\/span><span style=\"color: #B392F0\"> subdomains<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    subdomain_id <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">get_domain_id<\/span><span style=\"color: #BBBBBB\">(subdomain&#91;<\/span><span style=\"color: #FFAB70\">&quot;name&quot;<\/span><span style=\"color: #BBBBBB\">&#93;)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #F97583\">if<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">not<\/span><span style=\"color: #B392F0\"> subdomain_id<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        subdomain_created <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">create_domain<\/span><span style=\"color: #BBBBBB\">(subdomain&#91;<\/span><span style=\"color: #FFAB70\">&quot;name&quot;<\/span><span style=\"color: #BBBBBB\">&#93;, parent_domain<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #BBBBBB\">domain_id, df<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #79B8FF\">False<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        <\/span><span style=\"color: #F97583\">if<\/span><span style=\"color: #B392F0\"> subdomain_created<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            subdomain_id <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> subdomain_created<\/span><span style=\"color: #BBBBBB\">&#91;<\/span><span style=\"color: #FFAB70\">&#39;id&#39;<\/span><span style=\"color: #BBBBBB\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            logger<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">success<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #F97583\">f<\/span><span style=\"color: #FFAB70\">&#39;Subdomain <\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">subdomain&#91;<\/span><span style=\"color: #FFAB70\">&quot;name&quot;<\/span><span style=\"color: #BBBBBB\">&#93;<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\"> created with ID <\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">subdomain_id<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\">&#39;<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #6B737C\"># Assign workspaces<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    ws_ids <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> []<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">    <\/span><span style=\"color: #F97583\">for<\/span><span style=\"color: #B392F0\"> ws <\/span><span style=\"color: #F97583\">in<\/span><span style=\"color: #B392F0\"> subdomain<\/span><span style=\"color: #BBBBBB\">&#91;<\/span><span style=\"color: #FFAB70\">&quot;workspaces&quot;<\/span><span style=\"color: #BBBBBB\">&#93;:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        ws_id <\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #B392F0\"> pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">get_workspace_id<\/span><span style=\"color: #BBBBBB\">(ws)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        <\/span><span style=\"color: #F97583\">if<\/span><span style=\"color: #B392F0\"> ws_id <\/span><span style=\"color: #F97583\">is<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">not<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #79B8FF\">None<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            ws_ids<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">append<\/span><span style=\"color: #BBBBBB\">(ws_id)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">        <\/span><span style=\"color: #F97583\">if<\/span><span style=\"color: #B392F0\"> len<\/span><span style=\"color: #BBBBBB\">(ws_ids)<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F97583\">&gt;<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">0<\/span><span style=\"color: #BBBBBB\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            pf<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">assign_domain_workspaces_by_ids<\/span><span style=\"color: #BBBBBB\">(subdomain_id, ws_ids)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            logger<\/span><span style=\"color: #BBBBBB\">.<\/span><span style=\"color: #B392F0\">success<\/span><span style=\"color: #BBBBBB\">(<\/span><span style=\"color: #F97583\">f<\/span><span style=\"color: #FFAB70\">&#39;Workspaces <\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">subdomain&#91;<\/span><span style=\"color: #FFAB70\">&quot;workspaces&quot;<\/span><span style=\"color: #BBBBBB\">&#93;<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\"> successfully assigned to domain <\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">domain<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\">\/<\/span><span style=\"color: #F8F8F8\">{<\/span><span style=\"color: #BBBBBB\">subdomain&#91;<\/span><span style=\"color: #FFAB70\">&quot;name&quot;<\/span><span style=\"color: #BBBBBB\">&#93;<\/span><span style=\"color: #F8F8F8\">}<\/span><span style=\"color: #FFAB70\">&#39;<\/span><span style=\"color: #BBBBBB\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">            <\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"246\" src=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-21-1024x246.png\" alt=\"\" class=\"wp-image-1929\" srcset=\"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-21-1024x246.png 1024w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-21-300x72.png 300w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-21-768x185.png 768w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-21-18x4.png 18w, https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/image-21.png 1128w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Considera\u00e7\u00f5es finais <\/h2>\n\n\n\n<p>Os dom\u00ednios s\u00e3o elementos cruciais para elevar a governan\u00e7a do ambiente do Microsoft Fabric seja para a administra\u00e7\u00e3o dos workspaces, inclusive ainda existem outras quest\u00f5es como r\u00f3tulos de confidencialidade em sinergia com o Microsoft Purview, que podemos abordar em outro post.<\/p>\n\n\n\n<p>Al\u00e9m disso s\u00e3o aliados para facilitar a organiza\u00e7\u00e3o dos workspaces principalmente de Tenants com grande quantidade de deles.<\/p>\n\n\n\n<p>Deixe seu coment\u00e1rio sobre o que achou e assine o blog para ser avisado dos meus novos posts.<\/p>\n\n\n\n<p>Confira <a href=\"https:\/\/learn.microsoft.com\/en-us\/fabric\/governance\/domains\" data-type=\"link\" data-id=\"https:\/\/learn.microsoft.com\/en-us\/fabric\/governance\/domains\">aqui<\/a> a documenta\u00e7\u00e3o oficial sobre dom\u00ednio no Microsoft Learn.<\/p>\n\n\n\n<p>Forte abra\u00e7o e at\u00e9 a pr\u00f3xima!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No Microsoft Fabric, voc\u00ea pode criar dom\u00ednios e subdom\u00ednios que elevam a governan\u00e7a do seu Tenant, segregando os workspaces de acordo com: Eu publiquei um v\u00eddeo no YouTube onde demonstro na pr\u00e1tica a cria\u00e7\u00e3o de dominios. Confira abaixo. Como criar utilizando o portal de administra\u00e7\u00e3o Para criar dom\u00ednios voc\u00ea precisa ser administrador do Fabric. V\u00e1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1930,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_silent-publish":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[50],"tags":[54],"class_list":["post-1911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-fabric","tag-governance"],"blocksy_meta":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/alisonpezzott.com.br\/wp-content\/uploads\/2026\/02\/dominios-en.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/posts\/1911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/comments?post=1911"}],"version-history":[{"count":3,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/posts\/1911\/revisions"}],"predecessor-version":[{"id":1931,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/posts\/1911\/revisions\/1931"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/media\/1930"}],"wp:attachment":[{"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/media?parent=1911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/categories?post=1911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alisonpezzott.com.br\/en\/wp-json\/wp\/v2\/tags?post=1911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}