Start-AzDataProtectionBackupInstanceRestore
BackupInstance için geri yüklemeyi tetikler
Syntax
Trigger (Varsayılan)
Start-AzDataProtectionBackupInstanceRestore
-ResourceGroupName <String>
-BackupInstanceName <String>
-VaultName <String>
-Parameter <IAzureBackupRestoreRequest>
[-SubscriptionId <String>]
[-ResourceGuardOperationRequest <String[]>]
[-Token <String>]
[-SecureToken <SecureString>]
[-RestoreToSecondaryRegion]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
TriggerExpanded
Start-AzDataProtectionBackupInstanceRestore
-ResourceGroupName <String>
-BackupInstanceName <String>
-VaultName <String>
-ObjectType <String>
-RestoreTargetInfo <IRestoreTargetInfoBase>
-SourceDataStoreType <SourceDataStoreType>
[-SubscriptionId <String>]
[-ResourceGuardOperationRequest <String[]>]
[-Token <String>]
[-SecureToken <SecureString>]
[-RestoreToSecondaryRegion]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-IdentityDetailUserAssignedIdentityArmUrl <String>]
[-IdentityDetailUseSystemAssignedIdentity]
[-SourceResourceId <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
BackupInstance için geri yüklemeyi tetikler
Örnekler
Örnek 1: Korumalı bir Azure diski için geri yüklemeyi tetikleme.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "sarath-rg" -VaultName "sarath-vault"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxx-xxx-xxx" -ResourceGroupName "sarath-rg" -VaultName "sarath-vault" -BackupInstanceName $instance.Name
$restoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDisk -SourceDataStore OperationalStore -RestoreLocation "westus" -RestoreType AlternateLocation -TargetResourceId "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/disks/{DiskName}" -RecoveryPoint $rp[0].name
Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.BackupInstanceName -ResourceGroupName sarath-rg -VaultName sarath-vault -SubscriptionId "xxx-xxx-xxx" -Parameter $restorerequest
Örnek 2: Gizli dizi depo kullanarak korumalı AzureDatabaseForPostgreSQL için DB olarak geri yüklemeyi tetikleme.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$targetResourceId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.DBforPostgreSQL/servers/serverName/databases/targetDbName"
$secretURI = "https://oss-keyvault.vault.azure.net/secrets/oss-secret"
$restoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation "westus" -RestoreType AlternateLocation -TargetResourceId $targetResourceId -RecoveryPoint $rp[0].Property.RecoveryPointId -SecretStoreURI $secretURI -SecretStoreType AzureKeyVault
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.BackupInstanceName -ResourceGroupName resourceGroupName -VaultName vaultName -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -Parameter $restorerequest
$jobid = $restoreJob.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
Start-Sleep -Seconds 10
$currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$jobstatus = $currentjob.Status
}
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü komut, $targetResourceId hedef postgre veritabanının kimliğiyle başlatır (targetDbName yeni veritabanı adı olmalıdır).
Dördüncü komut gizli dizi URI'sini başlatır.
Beşinci, altıncı komut AzureDatabaseForPostgreSQL için gizli dizi deposuyla geri yükleme isteğini başlatır ve tetikler.
Yedinci, sekiz, dokuzuncu komutlar, geri yükleme işini tamamlanmasını izler.
Örnek 3: Korumalı AzureDatabaseForPostgreSQL için dosya olarak geri yüklemeyi tetikleme.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$targetContainerURI = "https://targetStorageAccount.blob.core.windows.net/targetContainerName"
$fileNamePrefix = "restore_as_files_12345"
$restoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation "westus" -RestoreType RestoreAsFiles -RecoveryPoint $rp[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI -FileNamePrefix $fileNamePrefix
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.BackupInstanceName -ResourceGroupName resourceGroupName -VaultName vaultName -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -Parameter $restorerequest
$jobid = $restoreJob.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
Start-Sleep -Seconds 10
$currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$jobstatus = $currentjob.Status
}
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü komut, hedef depolama hesabı kapsayıcısının kimliğiyle $targetContainerURI başlatır.
Dördüncü komut, geri yükleme için dosya adı ön ekini başlatır.
Beşinci, altıncı komut AzureDatabaseForPostgreSQL için gizli dizi deposuyla geri yükleme isteğini başlatır ve tetikler.
Yedinci, sekiz, dokuzuncu komutlar, geri yükleme işini tamamlanmasını izler.
Örnek 4: Korumalı AzureKubernetesService için Dosyalar olarak geri yüklemeyi tetikleme.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "aks-cluster-name" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace1"="targetNamespace1";"sourceNamespace2"="targetNamespace2"}
$snapshotResourceGroupId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/snapshotResourceGroup"
$aksOLRRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation eastus -RestoreType OriginalLocation -RecoveryPoint $rps[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $instance
Set-AzDataProtectionMSIPermission -VaultResourceGroup "resourceGroupName" -VaultName "vaultName" -PermissionsScope "ResourceGroup" -RestoreRequest $aksOLRRestoreRequest -SnapshotResourceGroupId $snapshotResourceGroupId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -RestoreRequest $aksOLRRestoreRequest -Name $instance.BackupInstanceName
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $aksOLRRestoreRequest
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü komut, geri yükleme isteği istemci nesnesini başlatmak için kullanılan Geri Yükleme Yapılandırması istemci nesnesini başlatır.
Dördüncü komut anlık görüntü kaynak grubu kimliğini başlatır. Beşinci komut, AzureKubernetesService geri yükleme için geri yükleme isteği nesnesini başlatır.
Altıncı komut, AzureKubernetesService için geri yüklemeyi tetikleme için gereken yedekleme kasasına ve hedef AKS kümesine izinleri atar.
Son komut, AzureKubernetesService için geri yüklemeyi tetikler.
Örnek 5: Kasalı bloblar için geri yüklemeyi tetikleme.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "storageAcountName" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$backedUpContainers = $instance.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
$restoreReq = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RecoveryPoint $rp[0].Name -ItemLevelRecovery -RestoreType AlternateLocation -TargetResourceId "targetStorageAccountId" -ContainersList $backedUpContainers[0,1]
Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $restoreReq
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $restoreReq
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü komut, kasalı ilkeyle korunan kapsayıcıları getirir.
Dördüncü komut, AzureBlob geri yükleme için geri yükleme isteği nesnesini başlatır.
Beşinci komut, geri yüklemeden önce doğrulamayı tetikler.
Son komut, kasalı blob kapsayıcıları için geri yüklemeyi tetikler.
Örnek 6: Kasalı bloblar için abonelikler arası geri yüklemeyi tetikleyin.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "storageAcountName" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$backedUpContainers = $instance.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
$targetCrossSubscriptionStorageAccountId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/targetStorageAccount"
$restoreReqCSR = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RecoveryPoint $rp[0].Name -ItemLevelRecovery -RestoreType AlternateLocation -TargetResourceId $targetCrossSubscriptionStorageAccountId -ContainersList $backedUpContainers[0,1]
Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $restoreReqCSR
$restoreJobCSR = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $restoreReqCSR
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü komut, kasalı ilkeyle korunan kapsayıcıları getirir.
Dördüncü komut, hedef abonelikler arası depolama hesabı kimliğini başlatır. Beşinci komut, abonelikler arası AzureBlob geri yükleme için geri yükleme isteği nesnesini başlatır.
Altıncı komut, geri yüklemeden önce doğrulamayı tetikler.
Son komut, kasalı blob kapsayıcıları için abonelikler arası geri yüklemeyi tetikler.
Örnek 7: AzureDatabaseForPostgreSQL için dosyalar olarak abonelikler arası geri yüklemeyi tetikleme.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Property.DataSourceInfo.ResourceType -match "Postgre" }
$rp = Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance[0].BackupInstanceName -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName"
$targetResourceArmId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/crossSubResourceGroupName/providers/Microsoft.Storage/storageAccounts/akneemasaecy/blobServices/default/containers/oss-csr-container"
$targetContainerURI = "https://akneemasaecy.blob.core.windows.net/oss-csr-container"
$fileNamePrefix = "oss-csr-pstest-restoreasfiles"
$ossRestoreReqFiles = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPostgreSQL -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RestoreType RestoreAsFiles -RecoveryPoint $rp[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI -FileNamePrefix $fileNamePrefix -TargetResourceIdForRestoreAsFile $targetContainerArmId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $ossRestoreReqFiles
$restoreJobCSR = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $ossRestoreReqFiles
$jobid = $restoreJobCSR.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
Start-Sleep -Seconds 10
$currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName"
$jobstatus = $currentjob.Status
}
birinci, ikinci komutlar yedekleme örneği için yedekleme örneğini ve kurtarma noktasını getirir.
Üçüncü komut, hedef kapsayıcı için ARM Kimliğini başlatır.
Bu parametre, abonelikler arası geri yüklemenin devre dışı bırakıldığı kasalar için gereklidir ve CSR özellikli kasalar için isteğe bağlıdır.
Dördüncü, beşinci komut, geri yükleme için targetContainerURI ve fileNamePrefix'i başlatır.
Altıncı komut, AzureDatabaseForPostgreSQL geri yükleme için geri yükleme isteği nesnesini başlatır.
Yedinci komut, geri yüklemeden önce doğrulamayı tetikler.
Son komut, AzureDatabaseForPostgreSQL için dosyalar olarak abonelikler arası geri yüklemeyi tetikler.
Örnek 8: AzureDatabaseForPostgreSQL için bölgeler arası geri yüklemeyi tetikleyin.
$restoreJobCRR = Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $instance.Name -ResourceGroupName $ResourceGroupName -VaultName $vaultName -SubscriptionId $SubscriptionId -Parameter $OssRestoreReq -RestoreToSecondaryRegion
$jobid = $restoreJobCRR.JobId.Split("/")[-1]
$jobstatus = "InProgress"
while($jobstatus -ne "Completed")
{
Start-Sleep -Seconds 10
$currentjob = Get-AzDataProtectionJob -Id $jobid -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -UseSecondaryRegion
$jobstatus = $currentjob.Status
}
Bu komut, AzureDatabaseForPostgreSQL için bölgeler arası geri yüklemeyi tetikler.
İkincil bölgeye bölgeler arası geri yüklemeyi tetikleme için RestoreToSecondaryRegion anahtarını kullanın.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "test-pgflex" }
$rps = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$targetContainerURI = "https://teststorageaccount.blob.core.windows.net/powershellpgflexrestore"
$storageAccId = (Get-AzStorageAccount -ResourceGroupName "teststorageaccountRG" -Name "teststorageaccount").Id
$pgFlexRestoreAsFilesRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDatabaseForPGFlexServer -SourceDataStore VaultStore -RestoreLocation $vault.Location -RestoreType RestoreAsFiles -RecoveryPoint $rps[0].Property.RecoveryPointId -TargetContainerURI $targetContainerURI
Set-AzDataProtectionMSIPermission -VaultResourceGroup "resourceGroupName" -VaultName "vaultName" -PermissionsScope "ResourceGroup" -RestoreRequest $pgFlexRestoreAsFilesRequest -DatasourceType AzureDatabaseForPGFlexServer -SubscriptionId $SubscriptionId -StorageAccountARMId $storageAccId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -RestoreRequest $pgFlexRestoreAsFilesRequest -Name $instance.BackupInstanceName
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $pgFlexRestoreAsFilesRequest
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü ve dördüncü komut, hedef kapsayıcı kimliğini ve hedef depolama hesabı ARM kimliğini başlatır. Beşinci komut, AzureDatabaseForPGFlexServer geri yüklemesi için geri yükleme isteği nesnesini başlatır.
Bu örnek, AzureDatabaseForMySQL veri kaynağı türü için de çalışır.
Altıncı komut, yedekleme kasasına izinleri ve AzureDatabaseForPGFlexServer için geri yüklemeyi tetikleme için gereken diğer izinleri atar.
Son komut, AzureDatabaseForPGFlexServer için geri yüklemeyi tetikler.
Örnek 10: Azureblob için PrefixMatch ile ItemLevelRestore kasalı yedekleme kapsayıcılarını tetikleyin.
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" | Where-Object { $_.Name -match "storageAcountName" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.Name
$backedUpContainers = $instance.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
$prefMatch = @{
$backedUpContainers[0] = @("Su", "PS")
$backedUpContainers[1]= @("meta", "coll", "Su")
}
$targetStorageAccountId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourceGroupName/providers/Microsoft.Storage/storageAccounts/targetStorageAccount"
$restoreReqILR = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore VaultStore -RestoreLocation "vaultLocation" -RecoveryPoint $rp[0].Name -ItemLevelRecovery -RestoreType AlternateLocation -TargetResourceId $targetStorageAccountId -ContainersList $backedUpContainers[0,1] -PrefixMatch $prefMatch
Test-AzDataProtectionBackupInstanceRestore -Name $instance[0].Name -ResourceGroupName "resourceGroupName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -VaultName "vaultName" -RestoreRequest $restoreReqILR
$restoreJobILR = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -BackupInstanceName $instance.BackupInstanceName -Parameter $restoreJobILR
birinci, ikinci komutlar örnek için örneği ve kurtarma noktasını getirir.
Üçüncü komut, kasalı ilkeyle korunan kapsayıcıları getirir.
Dördüncü komut, her kapsayıcı için ön ek dizisini başlatır.
PrefixMatch, her anahtarın geri yüklenen kapsayıcı adı olduğu ve değerin Öğe düzeyinde kurtarma için kapsayıcı adları için dize düzeltmelerinin listesi olduğu bir karma tablodur.
Beşinci komut hedef depolama hesabı kimliğini başlatır. Altıncı komut, AzureBlob geri yükleme için geri yükleme isteği nesnesini ContainersList, PrefixMatch parametreleriyle başlatır.
Yedinci komut, geri yüklemeden önce doğrulamayı tetikler.
Son komut, ön ekin kasalı blob kapsayıcıları için Öğe düzeyi geri yükleme ile eşleşmesini tetikler.
Örnek 11: AzureKubernetesService için alternatif konum kasalı geri yükleme tetikleme
$subId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$resourceGroupName = "resourceGroupName"
$vaultName = "vaultName"
$location = "eastasia"
$snapshotResourceGroupId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/stagingRG"
$stagingStorageAccount = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/stagingRG/providers/Microsoft.Storage/storageAccounts/snapshotsa"
$targetAKSClusterARMId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/targetRG/providers/Microsoft.ContainerService/managedClusters/targetKubernetesCluster"
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName | Where-Object { $_.Name -match "aks-cluster-name" }
$rp = Get-AzDataProtectionRecoveryPoint -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstanceName $instance.Name
$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -StagingResourceGroupId $snapshotResourceGroupId -StagingStorageAccountId $stagingStorageAccount -IncludedNamespace "hrweb" -NamespaceMapping @{"hrweb"="hrwebrestore"}
$aksALRRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore VaultStore -RestoreLocation $location -RestoreType AlternateLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -TargetResourceId $targetAKSClusterARMId
# assign necessary permissions from portal
Set-AzContext -SubscriptionId $subId
Set-AzDataProtectionMSIPermission -VaultResourceGroup $resourceGroupName -VaultName $vaultName -PermissionsScope "ResourceGroup" -RestoreRequest $aksALRRestoreRequest -SnapshotResourceGroupId $snapshotResourceGroupId
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName -RestoreRequest $aksALRRestoreRequest -Name $instance.BackupInstanceName
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $subId -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstanceName $instance.BackupInstanceName -Parameter $aksALRRestoreRequest
İlk olarak, geri yükleme betiğinde kullanılacak gerekli değişkenleri başlatırız.
Ardından örnek için yedekleme örneğini ve kurtarma noktasını getiririz.
Ardından, geri yükleme isteği istemci nesnesini ayarlamak için kullanılan Geri Yükleme Yapılandırması istemci nesnesini başlatacağız.
Kasalı geri yüklemeler için StagingResourceGroupId ve StagingStorageAccountId parametrelerini eklediğimize dikkat edin.
Ardından Azure Kubernetes Service (AKS) alternatif konum geri yüklemesi için geri yükleme isteği nesnesini başlatıyoruz.
Bundan sonra, geri yükleme işlemini etkinleştirmek için yedekleme kasasına ve hedef AKS kümesine gerekli izinleri atarız.
Bu komutun tüm AKS senaryolarında tam olarak desteklenmediğini lütfen unutmayın; gerekli izinleri atamak için Azure portalını kullanın.
Son olarak, Azure Kubernetes Service için geri yüklemeyi tetiklemeden önce geri yükleme yapılandırmasını doğrulamak ve gerekli izinlerin yerine getirildiğinden emin olmak için Test komutunu kullanırız.
Parametreler
-AsJob
Komutu iş olarak çalıştırma
Parametre özellikleri
Tür: SwitchParameter
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-BackupInstanceName
Yedekleme örneğinin adı
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: True
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Parametre özellikleri
Tür: SwitchParameter
Default value: None
Joker karakterleri destekler: False
DontShow: False
Diğer adlar: Cf
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-DefaultProfile
BackupInstance için geri yüklemeyi tetikler
Parametre özellikleri
Tür: PSObject
Default value: None
Joker karakterleri destekler: False
DontShow: False
Diğer adlar: AzureRMContext, AzureCredential
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-IdentityDetailUserAssignedIdentityArmUrl
Kullanıcı Tarafından Atanan Kimlik için ARM URL'si
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
TriggerExpanded
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-IdentityDetailUseSystemAssignedIdentity
BI'ın Sistem Kimliği tarafından korunup korunmadığı belirtir
Parametre özellikleri
Tür: SwitchParameter
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
TriggerExpanded
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-NoWait
Komutu zaman uyumsuz olarak çalıştırma
Parametre özellikleri
Tür: SwitchParameter
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-ObjectType
Geri yükleme isteğinin nesne türü
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
TriggerExpanded
Position: Named
Zorunlu: True
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-Parameter
Initialize-AzDataProtectionRestoreRequest cmdlet'i kullanılarak başlatılacak istek nesnesini geri yükleme Oluşturmak için, PARAMETER özellikleri için NOTES bölümüne bakın ve bir karma tablo oluşturun.
Parametre özellikleri
Parametre kümeleri
Trigger
Position: Named
Zorunlu: True
İşlem hattından gelen değer: True
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-ResourceGroupName
Yedekleme kasasının bulunduğu kaynak grubunun adı
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: True
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-ResourceGuardOperationRequest
Resource guard işlem isteği resourceguard-ARMID</dppTriggerRestoreRequests/default biçimindedir>.
İşlem MUA korumalı olduğunda bu parametreyi kullanın.
Parametre özellikleri
Tür: String [ ]
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-RestoreTargetInfo
Geri yükleme hedef bilgilerini alır veya ayarlar Oluşturmak için, RESTORETARGETINFO özellikleri için NOTES bölümüne bakın ve bir karma tablo oluşturun.
Parametre özellikleri
Parametre kümeleri
TriggerExpanded
Position: Named
Zorunlu: True
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-RestoreToSecondaryRegion
İkincil bölgeye geri yüklemeyi tetikleme parametresini değiştirme (Bölgeler arası geri yükleme)
Parametre özellikleri
Tür: SwitchParameter
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-SecureToken
Kiracılar arası resource guard tarafından korunan işlemleri yetkilendirme parametresi.
Komutunu (Get-AzAccessToken -TenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxx -AsSecureString") kullanın. Farklı kiracı için yetkilendirme belirtecini getirmek için belirteç.
Parametre özellikleri
Tür: SecureString
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-SourceDataStoreType
Kaynak veri deposunun türü
Parametre özellikleri
Parametre kümeleri
TriggerExpanded
Position: Named
Zorunlu: True
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-SourceResourceId
Kurtarılmakta olan veri kaynağının tam Azure Resource Manager kimliği
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
TriggerExpanded
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-SubscriptionId
Yedekleme kasasının abonelik kimliği
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-Token
Parametre kullanımdan kaldırılır.
Lütfen bunun yerine SecureToken kullanın.
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-VaultName
Yedekleme kasasının adı
Parametre özellikleri
Tür: String
Default value: None
Joker karakterleri destekler: False
DontShow: False
Parametre kümeleri
(All)
Position: Named
Zorunlu: True
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir.
Cmdlet çalıştırılmaz.
Parametre özellikleri
Tür: SwitchParameter
Default value: None
Joker karakterleri destekler: False
DontShow: False
Diğer adlar: Wi
Parametre kümeleri
(All)
Position: Named
Zorunlu: False
İşlem hattından gelen değer: False
Özellik adına göre işlem hattından gelen değer: False
Kalan bağımsız değişkenlerden elde edilen değer: False
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters .
Çıkışlar