Condividi tramite


Esercitazione: Pulire le risorse

Durante le esercitazioni sull'analisi su scala cloud, è possibile che si verifichino problemi di distribuzione. Per iniziare, usare gli script seguenti per rimuovere le risorse dell'esercitazione create nella sottoscrizione di Azure.

È anche possibile usare gli script per rimuovere tutte le risorse dell'esercitazione create nella sottoscrizione al termine di tutti i passaggi delle esercitazioni.

Avviso

Negli script seguenti un filtro identifica e rimuove i gruppi di risorse creati nelle esercitazioni. La rimozione di gruppi di risorse tramite questi script è un'azione che non può essere annullata. Assicurarsi di immettere il prefisso corretto negli script. Nelle esercitazioni, ad esempio, questi segnaposto vengono usati per fare riferimento alle risorse dell'esercitazione distribuite:

  • <DMLZ-prefix> fa riferimento al prefisso immesso al momento della creazione della distribuzione della zona di destinazione della gestione dei dati .
  • <DLZ-prefix> fa riferimento al prefisso immesso al momento della creazione della distribuzione della zona di destinazione dei dati .
  • <DP-prefix> fa riferimento al prefisso immesso al momento della creazione della distribuzione del prodotto dati .

Usare PowerShell per la pulizia dei gruppi di risorse singole

# Clean up PowerShell resources.

$prefix = '<your prefix>'
$subscriptionId = '<subscription ID>'

# Set the subscription.
Set-AzContext -SubscriptionId $subscriptionId

# List all resource groups that will be removed.
Get-AzResourceGroup | ? ResourceGroupName -match $prefix | Select-Object ResourceGroupName

# Remove the resource groups shown in the preceding command.
Get-AzResourceGroup | ? ResourceGroupName -match $prefix | Remove-AzResourceGroup -AsJob -Force

Usare Bash nell'interfaccia della riga di comando di Azure per la pulizia di un gruppo di risorse singole

# Clean up resources for Azure Cloud Shell, macOS, and Linux.

prefix='<prefix>'  
subscription='<subscription ID>'

# Set the subscription.
az account set --subscription $subscription

# Review the query to ensure the resource groups match the specified prefix.
az group list -o tsv  --query "[?contains(@.name, '$prefix')==\`true\`].name"

# Delete resource groups that match the prefix.
for rg in $(az group list -o tsv --query "[?contains(@.name, '$prefix')==\`true\`].name");
do
    az group delete --name $rg -y --no-wait;
done

Usare PowerShell per la pulizia di più gruppi di risorse

# PowerShell commands that use the Azure CLI to remove multiple resource groups that have a common prefix.

# Make sure you're in the correct subscription.
az account show

# Change the subscription, if needed.
az account set -s "<the correct subscription ID>"

# Define the wildcard expression to use to filter your cloud-scale analytics resource groups.
$filter = "*-dev-*"

# Get all resource groups and filter by your prefix.
# Print a list of resource groups to ensure you delete the correct resource groups.
$groups = az group list | ConvertFrom-Json
$groups = $groups | where{$_.name -like $filter}
[array]::Reverse($groups)
$message =  "`n`nThe following resource groups will be deleted:`n"
Foreach ($group in $groups) {
    $message += "   - $($group.name)`n"
}
$message += "`n`n"
Write-Host -ForegroundColor yellow $message

# Delete all peerings for the virtual networks you'll delete.
$subs = az account list | ConvertFrom-Json
$all_vnets = az network vnet list | ConvertFrom-Json
$del_vnets = $all_vnets | where{$_.resourceGroup -like $filter}
$del_vnet_ids = $del_vnets | ForEach-Object { $_.id }
Foreach ($sub in $subs) {
    Write-Host "Looking for vnet peerings in subscription `"$($sub.name)`"..."
    $all_vnets = az network vnet list --subscription $($sub.id) 2> $null | ConvertFrom-Json
    Foreach ($vnet in $all_vnets) {
        $linked_peerings = $vnet.virtualNetworkPeerings | where{$del_vnet_ids.Contains($_.remoteVirtualNetwork.id)}
        Foreach ($peering in $linked_peerings) {
            Write-Host -ForegroundColor red "`tDeleting peering `"$($peering.name)`" for VNet $($vnet.name)"
            az network vnet peering delete --ids $peering.id
        }
    }
}

# Delete all self-hosted integration runtimes from data factories you'll delete.
$factories = az datafactory list --only-show-errors | ConvertFrom-Json
$factories = $factories | where{$_.resourceGroup -like $filter}
Foreach ($factory in $factories) {
    $shirs = az datafactory integration-runtime list --resource-group $factory.resourceGroup --factory-name $factory.name --only-show-errors | ConvertFrom-Json
    $shirs = $shirs | where{$_.properties.type -eq "SelfHosted"}
    Foreach ($shir in $shirs) {
        Write-Host -ForegroundColor red "Deleting SHIR for `"$($factory.name)`" in RG $($factory.resourceGroup)"
        az datafactory integration-runtime delete --resource-group $factory.resourceGroup --factory-name $factory.name --name $shir.name --yes --only-show-errors
    }
}

# Delete the identified resource groups.
Foreach ($group in $groups) {
    Write-Host -ForegroundColor red "Deleting $($group.name)"
    az group delete --name $group.name --yes --no-wait
}

# Check for the resource groups to verify they were deleted.
$allGroups = az group list | ConvertFrom-Json
$allGroups | Where-Object { $groups.name -contains $_.name } | Select-Object name, @{Name="State"; Expression={$_.properties.provisioningState }}

Passaggi successivi