<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Capacity Migration in Notebook Gallery</title>
    <link>https://community.fabric.microsoft.com/t5/Notebook-Gallery/Capacity-Migration/m-p/4620409#M2</link>
    <description>&lt;P&gt;Download this notebook from:&amp;nbsp;&lt;A href="https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Capacity%20Migration.ipynb" target="_blank" rel="noopener"&gt;semantic-link-labs/notebooks/Capacity Migration.ipynb at main · microsoft/semantic-link-labs · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Install the latest .whl package&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Check &lt;A href="https://pypi.org/project/semantic-link-labs/" target="_blank" rel="noopener"&gt;here&lt;/A&gt; to see the latest version.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;%pip install semantic-link-labs&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Requirements&lt;/STRONG&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Must have an Azure Subscription&lt;/LI&gt;&lt;LI&gt;Must &lt;A href="https://ms.portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" target="_blank" rel="noopener"&gt;register an App&lt;/A&gt;&lt;UL&gt;&lt;LI&gt;Permissions: Will need the Contributor role at the scope where the resources will be created, which is often the subscription level&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Azure Key Vault&lt;UL&gt;&lt;LI&gt;&lt;A href="https://learn.microsoft.com/azure/key-vault/secrets/quick-create-portal" target="_blank" rel="noopener"&gt;Set up&lt;/A&gt; within the Azure Subscription&lt;/LI&gt;&lt;LI&gt;Save secrets for the Tenant ID, Client ID (Application ID), Client Secret&lt;/LI&gt;&lt;LI&gt;Permissions: Ensure the user who will be executing the notebooks has “Key Vault Secrets User”&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Fabric Permissions&lt;UL&gt;&lt;LI&gt;User should be a tenant admin. This ensures they have the necessary authority to execute and manage the notebooks without encountering permission issues.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Result&lt;/STRONG&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;F skus are created for each (specified) capacity&lt;UL&gt;&lt;LI&gt;Within the same region as the P SKU&lt;/LI&gt;&lt;LI&gt;Equivalent SKU size as the P SKU&lt;/LI&gt;&lt;LI&gt;Same admins as listed on the P SKU&lt;/LI&gt;&lt;LI&gt;All workspaces are migrated to the corresponding new capacity&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;The names of the newly created F SKU capacities will be an alphanumeric lowercase version of the P SKU capacity name, suffixed with 'fsku'. As an example: "My capacity_3!" -&amp;gt; "mycapacity3fsku".&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Import the library and set the initial parameters&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;import sempy_labs as labs
import sempy_labs.admin as admin

azure_subscription_id = '' # Enter your Azure subscription ID
resource_group = '' # Enter the name of the resource group (to be used to create the new F skus)

key_vault_uri = '', # Enter your key vault URI
key_vault_tenant_id = '', # Enter the key vault key to the secret storing your Tenant ID
key_vault_client_id = '', # Enter the key vault key to the secret storing your Client ID (Application ID)
key_vault_client_secret = '' # Enter the key vault key to the secret storing your Client Secret&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a single P SKU -&amp;gt; F SKU&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Set the 'capacities' parameter to the single P SKU.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        capacities = 'CapacityA',
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a list of P SKUs to F SKUs&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Set the 'capacities' parameter to a list of P SKUs.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        capacities = ['CapacityA', 'CapacityB', 'CapacityC'],
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate all P SKUs to F SKUs&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Set the 'capacities' parameter to None.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        capacities = None,
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a list of P SKUs to F SKUs; associate each capacity with a specific resource group&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;This process ensures that each F SKU is created within the resource group specified in the resource_group_mapping dictionary.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;resource_group_mapping = {
    "CapacityA": "ResourceGroupA",
    "CapacityB": "ResourceGroupA",
    "CapacityC": "ResourceGroupB",
}

with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group_mapping,
        capacities = ['CapacityA', 'CapacityB', 'CapacityC'],
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a single source capacity to a target capacity (target capacity already created)&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;source_capacity = '' # Enter the Source capacity name
target_capacity = '' # Enter the Target capacity name (already exists) 

admin.assign_workspaces_to_capacity(
    source_capacity=source_capacity,
    target_capacity=target_capacity,
    workspace=None,
)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a list of source capacities to target capacities (target capacity already created)&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;capacity_mapping = {
    "capacitya": "capacityanew", # Format is "Source SKU": "Target SKU"
    "capacityb": "capacitybnew",
    "capacityc": "capacitycnew",
}

capacities = list(capacity_mapping.keys())

for capacity in capacities:
    admin.assign_workspaces_to_capacity(
        source_capacity=capacity,
        target_capacity=capacity_mapping.get(capacity),
        workspace=None,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a Fabric Trial Capacity (FT1) to a Fabric Capacity (F SKU)&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_fabric_trial_capacity(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        source_capacity = '', # The name of the Trial capacity.
        target_capacity = '', # The name of Fabric capacity (if it does not exist it will be created).
        target_capacity_sku = "F64", # Defaults to F64 but can specify the required SKU.
        target_capacity_admin_members = None, # Setting this to None will use the same admin members as the Trial capacity.
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="msgUrl hidden"&gt;https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fsemantic-link-labs%2Fblob%2Fmain%2Fnotebooks%2FCapacity%2520Migration.ipynb&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 21 Mar 2025 20:59:59 GMT</pubDate>
    <dc:creator>mikova</dc:creator>
    <dc:date>2025-03-21T20:59:59Z</dc:date>
    <item>
      <title>Capacity Migration</title>
      <link>https://community.fabric.microsoft.com/t5/Notebook-Gallery/Capacity-Migration/m-p/4620409#M2</link>
      <description>&lt;P&gt;Download this notebook from:&amp;nbsp;&lt;A href="https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Capacity%20Migration.ipynb" target="_blank" rel="noopener"&gt;semantic-link-labs/notebooks/Capacity Migration.ipynb at main · microsoft/semantic-link-labs · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Install the latest .whl package&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Check &lt;A href="https://pypi.org/project/semantic-link-labs/" target="_blank" rel="noopener"&gt;here&lt;/A&gt; to see the latest version.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;%pip install semantic-link-labs&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Requirements&lt;/STRONG&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Must have an Azure Subscription&lt;/LI&gt;&lt;LI&gt;Must &lt;A href="https://ms.portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade" target="_blank" rel="noopener"&gt;register an App&lt;/A&gt;&lt;UL&gt;&lt;LI&gt;Permissions: Will need the Contributor role at the scope where the resources will be created, which is often the subscription level&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Azure Key Vault&lt;UL&gt;&lt;LI&gt;&lt;A href="https://learn.microsoft.com/azure/key-vault/secrets/quick-create-portal" target="_blank" rel="noopener"&gt;Set up&lt;/A&gt; within the Azure Subscription&lt;/LI&gt;&lt;LI&gt;Save secrets for the Tenant ID, Client ID (Application ID), Client Secret&lt;/LI&gt;&lt;LI&gt;Permissions: Ensure the user who will be executing the notebooks has “Key Vault Secrets User”&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Fabric Permissions&lt;UL&gt;&lt;LI&gt;User should be a tenant admin. This ensures they have the necessary authority to execute and manage the notebooks without encountering permission issues.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Result&lt;/STRONG&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;F skus are created for each (specified) capacity&lt;UL&gt;&lt;LI&gt;Within the same region as the P SKU&lt;/LI&gt;&lt;LI&gt;Equivalent SKU size as the P SKU&lt;/LI&gt;&lt;LI&gt;Same admins as listed on the P SKU&lt;/LI&gt;&lt;LI&gt;All workspaces are migrated to the corresponding new capacity&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;The names of the newly created F SKU capacities will be an alphanumeric lowercase version of the P SKU capacity name, suffixed with 'fsku'. As an example: "My capacity_3!" -&amp;gt; "mycapacity3fsku".&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Import the library and set the initial parameters&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;import sempy_labs as labs
import sempy_labs.admin as admin

azure_subscription_id = '' # Enter your Azure subscription ID
resource_group = '' # Enter the name of the resource group (to be used to create the new F skus)

key_vault_uri = '', # Enter your key vault URI
key_vault_tenant_id = '', # Enter the key vault key to the secret storing your Tenant ID
key_vault_client_id = '', # Enter the key vault key to the secret storing your Client ID (Application ID)
key_vault_client_secret = '' # Enter the key vault key to the secret storing your Client Secret&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a single P SKU -&amp;gt; F SKU&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Set the 'capacities' parameter to the single P SKU.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        capacities = 'CapacityA',
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a list of P SKUs to F SKUs&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Set the 'capacities' parameter to a list of P SKUs.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        capacities = ['CapacityA', 'CapacityB', 'CapacityC'],
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate all P SKUs to F SKUs&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;Set the 'capacities' parameter to None.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        capacities = None,
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a list of P SKUs to F SKUs; associate each capacity with a specific resource group&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;This process ensures that each F SKU is created within the resource group specified in the resource_group_mapping dictionary.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;resource_group_mapping = {
    "CapacityA": "ResourceGroupA",
    "CapacityB": "ResourceGroupA",
    "CapacityC": "ResourceGroupB",
}

with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_capacities(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group_mapping,
        capacities = ['CapacityA', 'CapacityB', 'CapacityC'],
        p_sku_only = True,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a single source capacity to a target capacity (target capacity already created)&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;source_capacity = '' # Enter the Source capacity name
target_capacity = '' # Enter the Target capacity name (already exists) 

admin.assign_workspaces_to_capacity(
    source_capacity=source_capacity,
    target_capacity=target_capacity,
    workspace=None,
)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a list of source capacities to target capacities (target capacity already created)&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;capacity_mapping = {
    "capacitya": "capacityanew", # Format is "Source SKU": "Target SKU"
    "capacityb": "capacitybnew",
    "capacityc": "capacitycnew",
}

capacities = list(capacity_mapping.keys())

for capacity in capacities:
    admin.assign_workspaces_to_capacity(
        source_capacity=capacity,
        target_capacity=capacity_mapping.get(capacity),
        workspace=None,
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;H3&gt;&lt;STRONG&gt;Migrate a Fabric Trial Capacity (FT1) to a Fabric Capacity (F SKU)&lt;/STRONG&gt;&lt;/H3&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;with labs.service_principal_authentication(
    key_vault_uri=key_vault_uri, 
    key_vault_tenant_id=key_vault_tenant_id,
    key_vault_client_id=key_vault_client_id,
    key_vault_client_secret=key_vault_client_secret):

    labs.migrate_fabric_trial_capacity(
        azure_subscription_id = azure_subscription_id,
        resource_group = resource_group,
        source_capacity = '', # The name of the Trial capacity.
        target_capacity = '', # The name of Fabric capacity (if it does not exist it will be created).
        target_capacity_sku = "F64", # Defaults to F64 but can specify the required SKU.
        target_capacity_admin_members = None, # Setting this to None will use the same admin members as the Trial capacity.
    )&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="msgUrl hidden"&gt;https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fsemantic-link-labs%2Fblob%2Fmain%2Fnotebooks%2FCapacity%2520Migration.ipynb&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Mar 2025 20:59:59 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Notebook-Gallery/Capacity-Migration/m-p/4620409#M2</guid>
      <dc:creator>mikova</dc:creator>
      <dc:date>2025-03-21T20:59:59Z</dc:date>
    </item>
  </channel>
</rss>

