Restore-AzStorageBlobRange
Restores a Storage account for specific blob ranges.
Syntax
Restore-AzStorageBlobRange
[-ResourceGroupName] <String>
[-StorageAccountName] <String>
-TimeToRestore <DateTime>
[-BlobRestoreRange <PSBlobRestoreRange[]>]
[-WaitForComplete]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzStorageBlobRange
[-ResourceId] <String>
-TimeToRestore <DateTime>
[-BlobRestoreRange <PSBlobRestoreRange[]>]
[-WaitForComplete]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restore-AzStorageBlobRange
-StorageAccount <PSStorageAccount>
-TimeToRestore <DateTime>
[-BlobRestoreRange <PSBlobRestoreRange[]>]
[-WaitForComplete]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Restore-AzStorageBlobRange cmdlet restores blobs in a Storage account for specific blob ranges. The start range is included, and the end range is excluded in blob restore.
Examples
Example 1: Start restores blobs in a Storage account with specific blob ranges
$range1 = New-AzStorageBlobRangeToRestore -StartRange container1/blob1 -EndRange container2/blob2
$range2 = New-AzStorageBlobRangeToRestore -StartRange container3/blob3 -EndRange container4/blob4
Restore-AzStorageBlobRange -ResourceGroupName "myresourcegoup" -StorageAccountName "mystorageaccount" -TimeToRestore (Get-Date).AddDays(-1) -BlobRestoreRange $range1,$range2
Status RestoreId FailureReason Parameters.TimeToRestore Parameters.BlobRanges
------ --------- ------------- ------------------------ ---------------------
InProgress 6ca55a8b-fca0-461a-8e4c-13927a9707e6 2020-02-10T13:58:44.6841810Z ["container1/blob1" -> "container2/blob2",...]
(Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $accountName -IncludeBlobRestoreStatus).BlobRestoreStatus
Status RestoreId FailureReason Parameters.TimeToRestore Parameters.BlobRanges
------ --------- ------------- ------------------------ ---------------------
Complete 6ca55a8b-fca0-461a-8e4c-13927a9707e6 2020-02-10T13:58:44.6841810Z ["container1/blob1" -> "container2/blob2",...]
This command first creates 2 blob ranges, then start restores blobs in a Storage account with the 2 blob ranges from 1 day ago. User can use Get-AzStorageAccount to trace the restore status later.
Example 2: Restores all blobs in a Storage account in the backend
$job = Restore-AzStorageBlobRange -ResourceGroupName "myresourcegoup" -StorageAccountName "mystorageaccount" -TimeToRestore (Get-Date).AddMinutes(-30) -WaitForComplete -asjob
$job | Wait-Job
$job.Output
Status RestoreId FailureReason Parameters.TimeToRestore Parameters.BlobRanges
------ --------- ------------- ------------------------ ---------------------
Complete 0387953a-bbe6-4602-818d-e661581ee44b 2020-08-28T07:11:33.9843100Z ["" -> ""]
This command restores all blobs in a Storage account from 30 minutes ago, and wait for the restore complete. Since restore blobs might take a long time, run it in the backend with -Asjob parameter, and then wait for the job complete and show the result.
Example 3: Restores blobs by input blob ranges directly, and wait for complete
Restore-AzStorageBlobRange -ResourceGroupName "myresourcegoup" -StorageAccountName "mystorageaccount" -WaitForComplete `
-TimeToRestore (Get-Date).AddSeconds(-1) `
-BlobRestoreRange @{StartRange="aaa/abc";EndRange="bbb/abc"},@{StartRange="bbb/acc";EndRange=""}
WARNING: Restore blob rang with Id 'd66d1d02-6e48-47ef-b516-0155dd8319c6' started. Restore blob ranges time to complete is dependent on the size of the restore.
Status RestoreId FailureReason Parameters.TimeToRestore Parameters.BlobRanges
------ --------- ------------- ------------------------ ---------------------
Complete d66d1d02-6e48-47ef-b516-0155dd8319c6 2020-02-10T14:17:46.8189116Z ["aaa/abc" -> "bbb/abc",...]
This command restores blobs in a Storage account from 1 day ago, by input 2 blob ranges directly to the Restore-AzStorageBlobRange cmdlet. This command will wait for the restore complete.
Parameters
-AsJob
Run cmdlet in the background
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BlobRestoreRange
The blob range to Restore. If not specify this parameter, will restore all blobs.
Type: | PSBlobRestoreRange[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
The credentials, account, tenant, and subscription used for communication with Azure.
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceGroupName
Resource Group Name.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
Storage Account Resource Id.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-StorageAccount
Storage account object
Type: | PSStorageAccount |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-StorageAccountName
Storage Account Name.
Type: | String |
Aliases: | AccountName |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TimeToRestore
The Time to Restore Blob.
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WaitForComplete
Wait for Restore task complete
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
Outputs
Azure PowerShell