Compartir a través de


Obtener el tamaño de los elementos de OneLake

Obtenga información sobre cómo obtener el tamaño de los datos de OneLake para administrar y planear los costos de almacenamiento. Los administradores de capacidad pueden usar la aplicación Métricas de capacidad de Microsoft Fabric para encontrar el tamaño total de los datos de OneLake almacenados en una determinada capacidad o área de trabajo. Pero es posible que desee una manera de medir el tamaño en un nivel más granular.

En este artículo se describen los comandos de PowerShell de Azure Storage que puede usar para comprender el tamaño de los datos de un elemento o carpeta específicos. Dado que OneLake es compatible con las herramientas de Azure Data Lake Storage (ADLS), muchos de los comandos funcionan simplemente reemplazando la dirección URL de ADLS Gen2 por una dirección URL de OneLake.

Para automatizar los pasos de este artículo, use los comandos de la API REST para obtener la información del área de trabajo y el elemento en lugar de proporcionarles manualmente. Para obtener más información, consulte Enumerar áreas de trabajo y Elementos de lista.

Prerrequisitos

  • Azure PowerShell. Para más información, consulte Instalación de Azure PowerShell.

  • Módulo de PowerShell de Azure Storage.

    Install-Module Az.Storage -Repository PSGallery -Force
    
  • Inicie sesión en PowerShell con su cuenta de Azure.

    Connect-AzAccount
    

Creación de un objeto de contexto para OneLake

Cada vez que ejecute un comando de Azure Storage en OneLake, debe incluir el -Context parámetro con un objeto de contexto de Azure Storage. Para crear un objeto de contexto que apunte a OneLake, ejecute el comando New-AzStorageContext con los siguientes valores:

Parámetro Importancia
-StorageAccountName 'onelake'
-UseConnectedAccount Ninguno; indica al cmdlet que use su cuenta de Azure.
-Endpoint 'fabric.microsoft.com'

Para facilitar la reutilización, cree este contexto como una variable local:

$ctx = New-AzStorageContext -StorageAccountName 'onelake' -UseConnectedAccount -endpoint 'fabric.microsoft.com'

Obtener el tamaño de un elemento o carpeta

Para obtener un tamaño de elemento, use el comando Get-AzDataLakeGen2ChildItem con los valores siguientes:

Parámetro Importancia
-Context Objeto de contexto de Azure Storage. Para obtener más información, consulte Creación de un objeto de contexto para OneLake.
-FileSystem Nombre o GUID del área de trabajo de Fabric. Los criterios de nomenclatura de Azure Storage para contenedores solo admiten letras minúsculas, números y guiones. Si tiene cualquier otro tipo de caracteres en el nombre de su área de trabajo, use su GUID en su lugar.
-Path Ruta de acceso local al elemento o carpeta dentro del área de trabajo. Los criterios de nomenclatura de Azure Storage para contenedores solo admiten letras minúsculas, números y guiones. Si tiene caracteres adicionales en cualquier recurso de la ruta de acceso del elemento, utilice el GUID equivalente.
-Recurse Ninguno; indica al cmdlet que obtenga recursivamente el elemento secundario.
-FetchProperty Ninguno; indica al cmdlet que capture las propiedades del elemento.

Use una canalización para pasar la salida del Get-AzDataLakeGen2ChildItem comando al comando Measure-object con los valores siguientes:

Parámetro Importancia
-Property Length
-Sum Ninguno; indica que el cmdlet muestra la suma de los valores de la propiedad especificada.

Combinado, el comando completo tiene el siguiente aspecto:

Get-AzDataLakeGen2ChildItem -Context <CONTEXT_OBJECT> -FileSystem <WORKSPACE_NAME> -Path <ITEM_PATH> -Recurse -FetchProperty | Measure-Object -property Length -sum

Ejemplo: Obtener el tamaño de un elemento

$ctx = New-AzStorageContext -StorageAccountName 'onelake' -UseConnectedAccount -endpoint 'fabric.microsoft.com'
$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"

Ejemplo: Obtener el tamaño de una carpeta

$ctx = New-AzStorageContext -StorageAccountName 'onelake' -UseConnectedAccount -endpoint 'fabric.microsoft.com'
$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"

Ejemplo: Obtener el tamaño de una tabla con GUID

$ctx = New-AzStorageContext -StorageAccountName 'onelake' -UseConnectedAccount -endpoint 'fabric.microsoft.com'
$workspaceName = 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb'
$itemPath = 'bbbbbbbb-1111-2222-3333-cccccccccccc/Tables/table1'
$colitems = Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem $workspaceName -Path $itemPath -Recurse -FetchProperty | Measure-Object -property Length -sum
"Total file size: " + ($colitems.sum / 1GB) + " GB"

Limitaciones

Estos comandos de PowerShell no funcionan en métodos abreviados que apuntan directamente a contenedores de ADLS. En su lugar, se recomienda crear accesos directos de ADLS a directorios que sean al menos un nivel por debajo de un contenedor.