Sdílet prostřednictvím


Výpočet počtu objektů blob a celkové velikosti kontejneru pomocí inventáře služby Azure Storage

Tento článek používá funkci inventáře služby Azure Blob Storage a Azure Synapse k výpočtu počtu objektů blob a celkové velikosti objektů blob na kontejner. Tyto hodnoty jsou užitečné při optimalizaci využití blobů v rámci kontejneru.

Požadavky

Nic

Povolení sestav inventáře

Prvním krokem v této metodě je povolení sestav inventáře pro váš účet úložiště. Možná budete muset počkat až 24 hodin po zapnutí sestav inventáře pro vygenerování první sestavy.

Pokud máte sestavu inventáře k analýze, udělte si přístup pro čtení ke kontejneru s CSV souborem sestavy tak, že si přiřadíte roli Čtenář dat objektů blob služby Storage. Nezapomeňte použít e-mailovou adresu účtu, který používáte pro spuštění sestavy. Pokud chcete zjistit, jak uživateli přiřadit roli Azure pomocí řízení přístupu na základě role Azure (Azure RBAC), postupujte podle pokynů uvedených v tématu Přiřazení rolí Azure pomocí webu Azure Portal.

Poznámka:

Pokud chcete vypočítat velikost objektu blob ze sestavy inventáře, nezapomeňte do definice pravidla zahrnout pole schématu Content-Length .

Vytvoření pracovního prostoru Azure Synapse

Dále vytvořte pracovní prostor Azure Synapse , ve kterém spustíte dotaz SQL, který nahlásí výsledky inventáře.

Vytvoření dotazu SQL

Po vytvoření pracovního prostoru Azure Synapse proveďte následující kroky.

  1. Přejděte na https://web.azuresynapse.net.

  2. Vyberte kartu Vývoj na levém okraji.

  3. Vyberte velké znaménko plus (+) a přidejte položku.

  4. Vyberte skript SQL.

    Snímek obrazovky s výběrem skriptu SQL pro vytvoření nového dotazu

Spuštění dotazu SQL

Postupujte podle následujících kroků:

  1. Do pracovního prostoru Azure Synapse přidejte následující dotaz SQL, který načte soubor CSV inventáře.

    bulk Pro parametr použijte adresu URL souboru CSV sestavy inventáře, který chcete analyzovat.

    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)
    
  2. Pojmenujte dotaz SQL v podokně vlastností na pravé straně.

  3. Publikujte dotaz SQL stisknutím kombinace kláves CTRL+S nebo výběrem tlačítka Publikovat vše .

  4. Výběrem tlačítka Spustit spusťte dotaz SQL. Počet objektů blob a celková velikost pro každý kontejner se hlásí v podokně Výsledky.

    Snímek obrazovky s výstupem ze spuštění skriptu pro výpočet počtu blobů a celkové velikosti.