En este artículo se usa la característica de inventario de Azure Blob Storage y Azure Synapse para calcular el recuento de blobs y su tamaño total por contenedor. Estos valores son útiles al optimizar el uso de blobs por contenedor.
Cálculo del recuento de blobs y su tamaño total por contenedor mediante el inventario de Azure Storage
Requisitos previos
Habilitación de informes de inventario
El primer paso de este método es habilitar informes de inventario en la cuenta de almacenamiento. Es posible que tenga que esperar hasta 24 horas después de habilitar los informes de inventario para que se genere el primer informe.
Cuando tenga un informe de inventario para analizar, asígnese el rol lector de datos de blobs de almacenamiento para concederse a usted mismo acceso de lectura al contenedor en el que reside el archivo CSV del informe. Asegúrese de usar la dirección de correo electrónico de la cuenta que usa para ejecutar el informe. Para obtener información sobre cómo asignar un rol de Azure a un usuario con el control de acceso basado en roles de Azure (Azure RBAC), siga las instrucciones que se encuentran en Asignación de roles de Azure mediante Azure Portal.
Nota:
Para calcular el tamaño del blob del informe de inventario, no olvide incluir el campo de esquema Content-Length en la definición de la regla.
Creación de un área de trabajo de Azure Synapse
A continuación, cree un área de trabajo de Azure Synapse donde ejecute una consulta SQL para informar de los resultados del inventario.
Creación de la consulta SQL
Después de crear el área de trabajo de Azure Synapse, siga estos pasos.
Vaya a https://web.azuresynapse.net.
Seleccione la pestaña Desarrollar del borde izquierdo.
Seleccione el signo más (+) grande para agregar un elemento.
Seleccione el script SQL.
Ejecución de la consulta SQL
Siga los pasos siguientes:
Agregue la siguiente consulta SQL en el área de trabajo de Azure Synapse para leer el archivo CSV de inventario.
En el parámetro
bulk
, utilice la dirección URL del archivo CSV de informe de inventario que desea analizar.SELECT LEFT([Name], CHARINDEX('/', [Name]) - 1) AS Container, COUNT(*) As TotalBlobCount, SUM([Content-Length]) As TotalBlobSize FROM OPENROWSET( bulk '<URL to your inventory CSV file>', format='csv', parser_version='2.0', header_row=true ) AS Source GROUP BY LEFT([Name], CHARINDEX('/', [Name]) - 1)
Asigne un nombre a la consulta SQL en el panel Propiedades de la derecha.
Publique la consulta SQL presionando CTRL+S o seleccionando el botón Publicar todo.
Seleccione el botón Ejecutar para ejecutar la consulta SQL. En el panel Resultados se informa del recuento de blobs y su tamaño total por contenedor.