如何使用AZ CLI查找Azure Blob容器和文件共享的备份保管库
查找Azure Blob容器和文件共享对应的备份保管库
方法1:使用Azure PowerShell
通过PowerShell遍历备份保管库,关联目标存储账户下的Blob容器和文件共享:
# 替换为你的存储账户名称和资源组 $storageAccountName = "your-storage-account" $resourceGroupName = "your-resource-group" # 获取存储账户资源ID $storageAccountId = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).Id # 查询所有存储类备份保护项 $backupItems = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureStorage -WorkloadType AzureBlob -VaultId (Get-AzRecoveryServicesVault | Select-Object -ExpandProperty Id) # 筛选目标存储账户的备份项并输出对应保管库信息 foreach ($item in $backupItems) { if ($item.ContainerId -match $storageAccountId) { $vault = Get-AzRecoveryServicesVault -Id $item.VaultId Write-Host "Blob容器/文件共享: $($item.Name) 对应备份保管库: $($vault.Name) (资源组: $($vault.ResourceGroupName))" } }
方法2:使用Azure CLI
通过CLI批量遍历备份保管库,匹配目标存储资源:
# 替换为你的存储账户名称和资源组 STORAGE_ACCOUNT_NAME="your-storage-account" RESOURCE_GROUP_NAME="your-resource-group" # 获取存储账户ID STORAGE_ACCOUNT_ID=$(az storage account show --name $STORAGE_ACCOUNT_NAME --resource-group $RESOURCE_GROUP_NAME --query id --output tsv) # 遍历所有备份保管库并查询匹配的备份项 for VAULT in $(az recovery services vault list --query "[].name" --output tsv); do VAULT_RESOURCE_GROUP=$(az recovery services vault show --name $VAULT --query resourceGroup --output tsv) az recovery services backup item list --vault-name $VAULT --resource-group $VAULT_RESOURCE_GROUP --backup-management-type AzureStorage --workload-type AzureBlob --query "[?contains(containerId, '$STORAGE_ACCOUNT_ID')].{Name:name, VaultName:'$VAULT'}" --output table done
方法3:使用Azure Resource Graph查询
适合批量查询所有Blob容器和文件共享的备份关联信息,可直接在Resource Graph Explorer运行:
RecoveryServicesResources | where type == 'Microsoft.RecoveryServices/vaults/backupProtectionContainers' | where properties.containerType == 'StorageContainer' | extend storageAccountId = split(properties.sourceResourceId, '/')[8] | extend storageAccountName = split(properties.friendlyName, ';')[0] | join kind=inner ( RecoveryServicesResources | where type == 'Microsoft.RecoveryServices/vaults/backupProtectionItems' | where properties.dataSourceInfo.dataSourceType in ('AzureBlob', 'AzureFileShare') ) on $left.id == $right.properties.containerId | project BlobOrFileShareName = properties_dataSourceInfo_name, StorageAccountName = storageAccountName, BackupVaultName = split(id_left, '/')[8], BackupVaultResourceGroup = split(id_left, '/')[4]
内容的提问来源于stack exchange,提问作者Digger
相关产品推荐
相关产品推荐

