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).