Partilhar via


Eliminar contentores com base no prefixo do nome do contentor

Esse script exclui contêineres no armazenamento de Blob do Azure com base em um prefixo no nome do contêiner.

Este exemplo requer o Azure PowerShell. Executar Get-Module -ListAvailable Az para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure PowerShell module(Instalar o módulo do Azure PowerShell).

Execute o cmdlet Connect-AzAccount para se conectar ao Azure.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Script de exemplo

# 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

Limpar a implementação

Execute o seguinte comando para remover o grupo de recursos, os restantes contentores e todos os recursos relacionados.

Remove-AzResourceGroup -Name containerdeletetestrg

Explicação do script

Este script utiliza os seguintes comandos para eliminar contentores com base no prefixo do nome do contentor. Cada item na tabela liga a documentação específica do comando.

Comando Notas
Get-AzStorageAccount Obtém uma conta de Armazenamento especificada ou todas as contas de Armazenamento em um grupo de recursos ou a assinatura.
Get-AzStorageContainer Lista os contêineres de armazenamento associados a uma conta de armazenamento.
Remove-AzStorageContainer Remove o contêiner de armazenamento especificado.

Próximos passos

Para obter mais informações sobre o módulo do Azure PowerShell, veja Documentação do Azure PowerShell.

Pode ver exemplos adicionais de scripts de armazenamento do PowerShell em PowerShell samples for Azure Blob storage (Exemplos do PowerShell para o armazenamento de Blobs do Azure).