2016-10-19 19 views
1

私は、Azure PowerShellモジュールを使用してBlobサービスコンテナを別のバックアップストレージアカウントコンテナにバックアップするPowerShellスクリプトを作成しようとしています。Azure StorageでBlobをコピーするにはどうすればいいですか?

コンテナのサイズ(数TB)のため、バックアップを増分したいので、宛先コンテナ内のファイルをオーバーライドしないようにします(これは、ソースの既存のファイルを更新しないためコンテナ)。

しかし、このように振る舞うようにする方法(宛先コンテナ内のファイルをオーバーライドしないようにする方法)が見つかりません潜在的なすべてのオーバーライドを確認/拒否することを求めずに。私はこの確認を抑止したい。

例:

$sourceContext = New-AzureStorageContext -StorageAccountName $SourceStorageAccountName -StorageAccountKey $sourceStorageAccountKey 
$destinationContext = New-AzureStorageContext -StorageAccountName $DestinationStorageAccountName -StorageAccountKey $destinationStorageAccountKey 

$blobs = Get-AzureStorageBlob -Context $sourceContext -Container $SourceContainerName 

# Asks for confirmation for every blob that already exists in the destination container 
$blobs | Start-AzureStorageBlobCopy -Context $sourceContext -DestContext $destinationContext -DestContainer $DestinationContainerName 

答えて

1

-Forceパラメータを使用してみてください。 documentationから

-Force

は、このコマンドレットの は確認プロンプトを表示することなく、先のブロブを上書きすることを示します。

だからあなたのコマンドは次のようになります。

$blobs | Start-AzureStorageBlobCopy -Context $sourceContext -DestContext $destinationContext -DestContainer $DestinationContainerName -Force 
0

コマンドのヘルプドキュメントStart-AzureStorageBlobCopyをよると、多分それは求めず、パラメータを持つ既存のファイルを上書きしないようにする方法がありません。バックアップコンテナのサイズは数TBですので、PowerShellコードで既存のファイル(blob)を除外するのは良い選択ではないかもしれません。

-confirm:$ true [Yes to All]または[No to All]を選択した場合は、一度だけ尋ねられます。既存のファイルを上書きしたくない場合は、[No to All]オプションを選択してください。それは求めずすべての既存のファイルを上書きします-forceところで

$blobs | Start-AzureStorageBlobCopy -Context $sourceContext -DestContext $destinationContext -DestContainer $DestinationContainerName -Confirm:$true 

Confirm

関連する問題