This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
Understanding the size of your OneLake data can be important to manage and plan storage costs, especially if you have large amounts of data. Today, capacity admins can use the Microsoft Fabric Capacity Metrics app to find the total size of OneLake data stored in a given capacity or workspace but you may also want to understand the size of data in a specific item or folder. In this blog, we’ll walk through a couple Azure PowerShell commands that enable you to get size information of any item or folders in OneLake. As described in this blog post, with OneLake’s compatibility with ADLS tools, it’s as simple as replacing the ADLS Gen2 URL with a OneLake URL.
To get started, there are three simple steps to set up:
Step 1: Open Azure PowerShell and install the Azure Storage PowerShell module.
Install-ModuleAz.Storage-RepositoryPSGallery-Force
Step 2: Sign in to your Azure account.
Connect-AzAccount
Step 3: Create the storage account context.
-UseConnectedAccount to pass through your Azure credentials.$ctx = New-AzStorageContext -StorageAccountName 'onelake' -UseConnectedAccount -endpoint 'fabric.microsoft.com'
This example gets the size of an item “mylakehouse.lakehouse” in the workspace “myworkspace”.
$workspaceName = 'myworkspace'
$itemPath = 'mylakehouse.lakehouse'
$colitems = Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem $workspaceName -Path $itemPath -Recurse -FetchProperty | Measure-Object -property Length -sum
"Total file size: " + ($colitems.sum / 1GB) + " GB"
Keep in mind, if the workspace name does not meet Azure Storage naming criteria (ex. must be lowercase letters) then replace the workspace and item names with their GUIDs. You can find the associated GUID for your workspace or item in the URL on the Fabric portal. You must use GUIDs for both the workspace and the item, and don't need the item type.
$workspaceName = 'myworkspace'
$itemPath = 'mylakehouse.lakehouse/Files/folder1'
$colitems = Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem $workspaceName -Path $itemPath -Recurse -FetchProperty | Measure-Object -property Length -sum
"Total file size: " + ($colitems.sum / 1GB) + " GB"
We hope you continue to explore the ways you can leverage ADLS tools and APIs with your OneLake data. To learn more about how to connect to OneLake, check out these links:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.