2016-05-11 5 views
0

クライアントがAzure Blobストレージのコンテナ(CMS経由)からいくつかのファイルを誤って削除しました。 azureポータルの中に私がコンテナのバックアップとリストアを管理する方法があるので、これが再び起こるのを防ぐことができますか?AzureのBlobのバックアップ/リストア

答えて

1

はい、別のストレージアカウントを作成して、コンテナのBLOBをそこにコピーすることができます。あなたはそれを行うためにpowershellを使うことができます。

コピー用のコード別のストレージアカウントへのすべてのコンテナ/塊:あなたが同じストレージにバックアップあなたのコンテナをasloでき

$SourceStorageAccount = "sourceStorageAccount" 
$SourceStorageKey = "sourceKey" 
$DestStorageAccount = "destStorageAccount" 
$DestStorageKey = "destKey" 

$containerName = 'SourceContainerName'; 

$SourceStorageContext = New-AzureStorageContext –StorageAccountName $SourceStorageAccount -StorageAccountKey $SourceStorageKey 
$DestStorageContext = New-AzureStorageContext –StorageAccountName $DestStorageAccount -StorageAccountKey $DestStorageKey 

New-AzureStorageContainer -Context $DestStorageContext -Name $containerName -Permission Off 

$Blobs = Get-AzureStorageBlob -Context $SourceStorageContext -Container $containerName 

#Do the copy of everything 
foreach ($Blob in $Blobs) { 
    Write-Output "Moving $Blob.Name" 
    Start-CopyAzureStorageBlob -Context $SourceStorageContext -SrcContainer $containerName -SrcBlob $Blob.Name ` 
     -DestContext $DestStorageContext -DestContainer $containerName -DestBlob $Blob.Name 
} 

:コピーの

$SourceStorageAccount = "sourceStorageAccount" 
$SourceStorageKey = "sourceKey" 
$DestStorageAccount = "destStorageAccount" 
$DestStorageKey = "destKey" 

$SourceStorageContext = New-AzureStorageContext –StorageAccountName $SourceStorageAccount -StorageAccountKey $SourceStorageKey 
$DestStorageContext = New-AzureStorageContext –StorageAccountName $DestStorageAccount -StorageAccountKey $DestStorageKey 

$containers = Get-AzureStorageContainer -Context $SourceStorageContext 

foreach($container in $containers) { 
    New-AzureStorageContainer -Context $DestStorageContext -Name $container.name -Permission Off 

    $Blobs = Get-AzureStorageBlob -Context $SourceStorageContext -Container $container.name 

    #Do the copy of everything 
    foreach ($Blob in $Blobs) { 
     Write-Output "Moving $Blob.Name" 
     Start-CopyAzureStorageBlob -Context $SourceStorageContext -SrcContainer $container.name -SrcBlob $Blob.Name ` 
      -DestContext $DestStorageContext -DestContainer $container.name -DestBlob $Blob.Name 
    } 
} 

は、コード別のストレージアカウントへのコンテナアカウント:

$StorageAccount = "yourStorageAccount" 
$StorageKey = "yourStorageKey" 

$SourceContainerName = 'yourContainerName'; 
$DestContainerName = 'yourBackupContainerName'; 

$StorageContext = New-AzureStorageContext –StorageAccountName $StorageAccount -StorageAccountKey $StorageKey 

New-AzureStorageContainer -Context $StorageContext -Name $DestContainerName -Permission Off 

$Blobs = Get-AzureStorageBlob -Context $StorageContext -Container $SourceContainerName 

#Do the copy of everything 
foreach ($Blob in $Blobs) { 
    Write-Output "Moving $Blob.Name" 
    Start-CopyAzureStorageBlob -Context $StorageContext -SrcContainer $SourceContainerName -SrcBlob $Blob.Name ` 
     -DestContext $StorageContext -DestContainer $DestContainerName -DestBlob $Blob.Name 
} 
+0

同じアカウントで別のコンテナにコピーすることはできますか?また、バックアップコンテナを元のコンテナにどのように復元できますか? –

+0

第1の質問には、はい、私の更新答えを見てください。 2番目の質問には、両方のコンテナの間でblobsを自分で比較し、Start-CopyAzureStorageBlobコマンドを使用して手動で失われた/変更されたコンテナ/ blobを回復する必要があるかもしれないと思います。 –

関連する問題