Start-AzDataProtectionBackupInstanceRestore
Obnovení triggerů pro instance BackupInstance
Syntax
Trigger (Výchozí)
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
Obnovení triggerů pro instance BackupInstance
Příklady
Příklad 1: Aktivace obnovení chráněného disku Azure
$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
Příklad 2: Aktivace obnovení jako databáze pro chráněnou službu AzureDatabaseForPostgreSQL pomocí úložiště tajných kódů
$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
}
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí příkaz inicializuje $targetResourceId s ID cílové databáze postgre (targetDbName by měl být nový název databáze).
Čtvrtý příkaz inicializuje identifikátor URI tajného kódu.
Pátý šestý příkaz inicializuje a aktivuje žádost o obnovení pro AzureDatabaseForPostgreSQL s úložištěm tajných kódů.
Sedmé, osmé deváté příkazy sledují úlohu obnovení k dokončení.
Příklad 3: Aktivace obnovení jako souborů pro chráněné AzureDatabaseForPostgreSQL
$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
}
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí příkaz inicializuje $targetContainerURI s ID cílového kontejneru účtu úložiště.
Čtvrtý příkaz inicializuje předponu názvu souboru pro obnovení.
Pátý šestý příkaz inicializuje a aktivuje žádost o obnovení pro AzureDatabaseForPostgreSQL s úložištěm tajných kódů.
Sedmé, osmé deváté příkazy sledují úlohu obnovení k dokončení.
Příklad 4: Aktivace obnovení jako souborů pro chráněnou službu AzureKubernetesService
$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
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí příkaz inicializuje objekt klienta Restore Configuration použitý k inicializaci objektu klienta žádosti o obnovení.
Čtvrtý příkaz inicializuje ID skupiny prostředků snímku. Pátý příkaz inicializuje objekt žádosti o obnovení pro obnovení AzureKubernetesService.
Šestý příkaz přiřadí oprávnění k trezoru záloh a cílovému clusteru AKS potřebnému k aktivaci obnovení služby AzureKubernetesService.
Poslední příkaz aktivuje obnovení služby AzureKubernetesService.
Příklad 5: Aktivace obnovení pro trezorované objekty blob
$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
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí příkaz načte kontejnery, které jsou chráněné pomocí trezorových zásad.
Čtvrtý příkaz inicializuje objekt žádosti o obnovení pro obnovení AzureBlob.
Pátý příkaz se před obnovením ověří.
Poslední příkaz aktivuje obnovení pro trezorované kontejnery objektů blob.
Příklad 6: Aktivace obnovení mezi předplatnými pro trezorované objekty blob
$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
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí příkaz načte kontejnery, které jsou chráněné pomocí trezorových zásad.
Čtvrtý příkaz inicializuje ID cílového účtu úložiště napříč předplatnými. Pátý příkaz inicializuje objekt žádosti o obnovení pro obnovení azureBlob mezi předplatnými.
Šestý příkaz se před obnovením ověří.
Poslední příkaz aktivuje obnovení mezi předplatnými pro trezorované kontejnery objektů blob.
Příklad 7: Aktivace obnovení mezi předplatnými jako souborů pro AzureDatabaseForPostgreSQL
$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
}
První, druhý příkaz načte instanci zálohování a bod obnovení pro instanci zálohování.
Třetí příkaz inicializuje ID ARM pro cílový kontejner.
Tento parametr je potřeba pro trezory, ve kterých je zakázané obnovení mezi předplatnými a volitelné pro trezory s podporou CSR.
Čtvrtý pátý příkaz inicializuje targetContainerURI a fileNamePrefix pro obnovení.
Šestý příkaz inicializuje objekt žádosti o obnovení pro obnovení AzureDatabaseForPostgreSQL.
Sedmý příkaz se před obnovením ověří.
Poslední příkaz aktivuje obnovení mezi předplatnými jako soubory pro AzureDatabaseForPostgreSQL.
Příklad 8: Aktivace obnovení mezi oblastmi pro AzureDatabaseForPostgreSQL
$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
}
Tento příkaz aktivuje obnovení mezi oblastmi pro AzureDatabaseForPostgreSQL.
Pro aktivaci obnovení mezi oblastmi do sekundární oblasti použijte přepínač RestoreToSecondaryRegion.
$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
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí a čtvrtý příkaz inicializuje ID cílového kontejneru a ID ARM cílového účtu úložiště. Pátý příkaz inicializuje objekt žádosti o obnovení pro obnovení AzureDatabaseForPGFlexServer.
Tento příklad také funguje pro typ zdroje dat AzureDatabaseForMySQL.
Šestý příkaz přiřadí oprávnění k trezoru záloh a dalším oprávněním nezbytným pro aktivaci obnovení pro AzureDatabaseForPGFlexServer.
Poslední příkaz aktivuje obnovení pro AzureDatabaseForPGFlexServer.
Příklad 10: Aktivace trezorovaných kontejnerů zálohování ItemLevelRestore s PrefixMatch pro Azureblob
$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
První, druhé příkazy načítají instanci a bod obnovení pro instanci.
Třetí příkaz načte kontejnery, které jsou chráněné pomocí trezorových zásad.
Čtvrtý příkaz inicializuje pole předpony pro každý kontejner.
PrefixMatch je hashovatelná tabulka, kde každý klíč je obnovený název kontejneru a hodnota je seznam oprav řetězců pro názvy kontejnerů pro obnovení na úrovni položky.
Pátý příkaz inicializuje ID cílového účtu úložiště. Šestý příkaz inicializuje objekt žádosti o obnovení pro obnovení AzureBlob s parametry ContainersList, PrefixMatch.
Sedmý příkaz se před obnovením ověří.
Poslední příkaz aktivuje předponu, která odpovídá obnovení na úrovni položky pro kontejnery objektů blob v trezoru.
Příklad 11: Aktivace obnovení v trezoru alternativního umístění pro Službu AzureKubernetesService
$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
Nejprve inicializujeme potřebné proměnné, které se použijí ve skriptu pro obnovení.
Potom načteme instanci zálohování a bod obnovení instance.
Dále inicializujeme objekt klienta Konfigurace obnovení, který se používá k nastavení objektu klienta žádosti o obnovení.
Všimněte si, že pro trezorované obnovení jsme zahrnuli parametry StagingResourceGroupId a StagingStorageAccountId.
Potom inicializujeme objekt žádosti o obnovení pro obnovení alternativního umístění služby Azure Kubernetes Service (AKS).
Potom přiřadíme požadovaná oprávnění k trezoru záloh a cílovému clusteru AKS, abychom povolili operaci obnovení.
Upozorňujeme, že tento příkaz není plně podporovaný pro všechny scénáře AKS; pomocí webu Azure Portal přiřaďte potřebná oprávnění.
Nakonec pomocí příkazu Test ověříme konfiguraci obnovení a před aktivací obnovení pro Službu Azure Kubernetes Service ověříme potřebná oprávnění.
Parametry
-AsJob
Spuštění příkazu jako úlohy
Vlastnosti parametru
Typ: SwitchParameter
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-BackupInstanceName
Název instance zálohování
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: True
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
Typ: SwitchParameter
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Aliasy: viz
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-DefaultProfile
Obnovení triggerů pro instance BackupInstance
Vlastnosti parametru
Typ: PSObject
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Aliasy: AzureRMContext, AzureCredential
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-IdentityDetailUserAssignedIdentityArmUrl
Adresa URL ARM pro identitu přiřazenou uživatelem
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
TriggerExpanded
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-IdentityDetailUseSystemAssignedIdentity
Určuje, jestli je BI chráněná identitou systému.
Vlastnosti parametru
Typ: SwitchParameter
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
TriggerExpanded
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-NoWait
Asynchronní spuštění příkazu
Vlastnosti parametru
Typ: SwitchParameter
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-ObjectType
Typ objektu žádosti o obnovení
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
TriggerExpanded
Position: Named
Povinné: True
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-Parameter
Obnovení objektu požadavku, který se má inicializovat pomocí rutiny Initialize-AzDataProtectionRestoreRequest Chcete-li vytvořit, přečtěte si část NOTES pro vlastnosti PARAMETER a vytvořte tabulku hash.
Vlastnosti parametru
Sady parametrů
Trigger
Position: Named
Povinné: True
Hodnota z kanálu: True
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-ResourceGroupName
Název skupiny prostředků, ve které je k dispozici trezor záloh
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: True
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-ResourceGuardOperationRequest
Požadavek na operaci ochrany prostředků ve formátu podobném <resourceguard-ARMID>/dppTriggerRestoreRequests/default
Tento parametr použijte, pokud je operace chráněná protokolem MUA.
Vlastnosti parametru
Typ: String [ ]
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-RestoreTargetInfo
Získá nebo nastaví cílové informace obnovení Chcete-li vytvořit, viz POZNÁMKY oddíl pro RESTORETARGETINFO vlastnosti a vytvořit hash tabulku.
Vlastnosti parametru
Sady parametrů
TriggerExpanded
Position: Named
Povinné: True
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-RestoreToSecondaryRegion
Přepnutí parametru pro aktivaci obnovení do sekundární oblasti (obnovení mezi oblastmi)
Vlastnosti parametru
Typ: SwitchParameter
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-SecureToken
Parametr pro autorizaci operací chráněných ochranu prostředků napříč tenanty
Příkaz use (Get-AzAccessToken -TenantId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx -AsSecureString"). Token pro načtení autorizačního tokenu pro jiného tenanta
Vlastnosti parametru
Typ: SecureString
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-SourceDataStoreType
Typ zdrojového úložiště dat
Vlastnosti parametru
Sady parametrů
TriggerExpanded
Position: Named
Povinné: True
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-SourceResourceId
Plně kvalifikované ID Azure Resource Manageru zdroje dat, který se obnovuje
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
TriggerExpanded
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-SubscriptionId
ID předplatného trezoru záloh
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-Token
Parametr je zastaralý.
Místo toho použijte SecureToken.
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-VaultName
Název trezoru záloh
Vlastnosti parametru
Typ: String
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Sady parametrů
(All)
Position: Named
Povinné: True
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
-WhatIf
Ukazuje, co se stane, když se příkaz spustí.
Příkazový modul nebyl spuštěn.
Vlastnosti parametru
Typ: SwitchParameter
Default value: None
Podporuje zástupné znaky: False
DontShow: False
Aliasy: Wi
Sady parametrů
(All)
Position: Named
Povinné: False
Hodnota z kanálu: False
Hodnota z kanálu podle názvu vlastnosti: False
Hodnota ze zbývajících argumentů: False
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters .
Výstupy