Поделиться через


Удаление контейнеров на основе префикса имени

Приведенный в этой статье скрипт удаляет контейнеры в хранилище BLOB-объектов Azure на основе определенного префикса имени.

Для этого примера требуется Azure PowerShell. Чтобы узнать версию, выполните команду Get-Module -ListAvailable Az. Если вам необходимо выполнить установку или обновление, см. статью об установке модуля Azure PowerShell.

Запустите командлет Connect AzAccount, чтобы подключиться к Azure.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Пример скрипта

# this script will show how to delete containers with a specific prefix 
# the prefix this will search for is "image". 
# before running this, you need to create a storage account, create some containers,
#    some having the same prefix so you can test this
# note: this retrieves all of the matching containers in one command 
#       if you are going to run this against a storage account with a lot of containers
#       (more than a couple hundred), use continuation tokens to retrieve
#       the list of containers. We will be adding a sample showing that scenario in the future.

# these are for the storage account to be used
#   and the prefix for which to search
$resourceGroup = "containerdeletetestrg"
$storageAccountName = "containerdeletetest"
$prefix = "image"

# get a reference to the storage account and the context
$storageAccount = Get-AzStorageAccount `
  -ResourceGroupName $resourceGroup `
  -Name $storageAccountName
$ctx = $storageAccount.Context 

# list all containers in the storage account 
Write-Host "All containers"
Get-AzStorageContainer -Context $ctx | select Name

# retrieve list of containers to delete
$listOfContainersToDelete = Get-AzStorageContainer -Context $ctx -Prefix $prefix

# write list of containers to be deleted 
Write-Host "Containers to be deleted"
$listOfContainersToDelete | select Name

# delete the containers; this pipes the result of the listing of the containers to delete
#    into the Remove-AzStorageContainer command. It handles all of the containers in the list.
Write-Host "Deleting containers"
$listOfContainersToDelete | Remove-AzStorageContainer -Context $ctx 

# show list of containers not deleted 
Write-Host "All containers not deleted"
Get-AzStorageContainer -Context $ctx | select Name

Очистка развертывания

Выполните команду ниже, чтобы удалить группу ресурсов, оставшиеся контейнеры и все связанные ресурсы.

Remove-AzResourceGroup -Name containerdeletetestrg

Описание скрипта

Ниже приведены команды, с помощью которых скрипт удаляет контейнеры на основе префикса имени. Для каждого элемента в таблице приведены ссылки на документацию по команде.

Команда Примечания.
Get-AzStorageAccount Возвращает определенную учетную запись хранения или все учетные записи хранения в группе ресурсов или подписке.
Get-AzStorageContainer Возвращает список контейнеров хранилища, связанных с учетной записью хранения.
Remove-AzStorageContainer Удаляет указанный контейнер хранилища.

Следующие шаги

Дополнительные сведения о модуле Azure PowerShell см. в документации по Azure PowerShell.

Дополнительные примеры скриптов PowerShell хранилища см. в статье Примеры скриптов Azure PowerShell для хранилища BLOB-объектов Azure.