В этой статье используется функция инвентаризации хранилища BLOB-объектов Azure и Azure Synapse для расчета числа BLOB-объектов и общего размера BLOB-объектов для контейнера. Эти значения будут полезны при оптимизации использования BLOB-объекта для контейнера.
Вычисление количества BLOB-объектов и общего размера для каждого контейнера с помощью инвентаризации служба хранилища Azure
Необходимые компоненты
Включение отчетов инвентаризации
В этом случае в первую очередь необходимо Включить отчеты об инвентаризации в учетной записи хранения. После включения отчетов об инвентаризации для создания первого отчета потребуется подождать до 24 часов.
Получив отчет об инвентаризации для анализа, предоставьте себе доступ для чтения контейнера, в котором находится CSV-файл отчета, назначив себе роль Storage Blob Data Reader. Обязательно укажите адрес электронной почты учетной записи, которая используется для создания отчета. Чтобы узнать, как назначить роль Azure пользователю с помощью управления доступом на основе ролей Azure (Azure RBAC), следуйте инструкциям, приведенным в статье Назначение ролей Azure с помощью портала Azure.
Примечание.
Чтобы вычислить размер большого двоичного объекта из отчета инвентаризации, обязательно включите поле схемы Content-Length в определение правила.
создание рабочей области Azure Synapse;
Затем Создайте рабочую область Azure Synapse, в которой будет выполняться SQL-запрос, чтобы передать результаты инвентаризации.
Создание SQL-запроса
После создания рабочей области Azure Synapse выполните следующие действия.
Перейдите к https://web.azuresynapse.net.
Выберите вкладку Разработка на левом краю.
Выберите крупный знак "плюс" (+), чтобы добавить элемент.
Выберите Сценарий SQL.
Запуск SQL-запроса
Выполните приведенные ниже действия:
Добавьте следующий SQL-запрос в рабочую область Azure Synapse, чтобы считать CSV-файл инвентаризации.
В качестве параметра
bulk
используйте URL-адрес файла CSV отчета об инвентаризации, который требуется проанализировать.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)
Укажите имя SQL-запроса на панели свойств справа.
Опубликуйте SQL-запрос, нажав сочетание клавиш CTRL + S или кнопку Опубликовать все.
Нажмите кнопку Запустить, чтобы выполнить запрос. Количество BLOB-объектов и общий размер каждого контейнера отображаются в области результатов.