Я пытаюсь восстановить вчерашний снимок для всех данных в контейнере хранилища BLOB-объектов Azure.
$StorageAccountName = "SOURCE_STORAGE_ACCOUNT"
$StorageAccountKey = "STORAGE_ACCOUNT_KEY"
$ContainerName = "SOURCE_CONTAINER"
$Ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$ListBlob = Get-AzureStorageBlob –Context $Ctx -Container $ContainerName | Where-Object {$_.ICloudBlob.IsSnapshot -and $_.SnapshotTime -ne $null -and (($_.SnapshotTime.localdatetime).ToString('yyyyMMdd') -eq $ySnap)}
$DestContainerName = "DESTINATION_CONTAINER"
for ($i=0; $i -lt $ListBlob.length; $i++) {
$snapshot=$ListBlob[$i]
[Microsoft.WindowsAzure.Storage.Blob.CloudBlob] $snapshot.ICloudBlob
Start-AzureStorageBlobCopy –Context $Ctx -ICloudBlob $snapshot -DestContainer $DestContainerName
}
Все работает до:
[Microsoft.WindowsAzure.Storage.Blob.CloudBlob] $snapshot.ICloudBlob
Я получаю ошибку:
Cannot convert the "Microsoft.Azure.Storage.Blob.CloudBlockBlob" value of type "Microsoft.Azure.Storage.Blob.CloudBlockBlob" to type "Microsoft.WindowsAzure.Storage.Blob.CloudBlob".
At line:1 char:1
+ [Microsoft.WindowsAzure.Storage.Blob.CloudBlob] $snapshot.ICloudBlob
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : ConvertToFinalInvalidCastException
Как бы я произнес $ снимокиз CloudBlockBlob в CloudBlob?Или я поступаю неправильно?
Спасибо.