2017-02-24 44 views
0

我使用服務結構實現了備份和恢復。 我的備份放入帶有時間戳和服務名稱的azure文件夾中。服務結構:恢復到特定版本?

目前我只是搜索最新的備份,但如果我想恢復到舊版本,該怎麼辦?

我調用使用

await fabricClient.TestManager.StartPartitionDataLossAsync(operationId, partitionSelector, DataLossMode.FullDataLoss); 

在這裏,這觸發了數據丟失的數據丟失。

protected override async Task<bool> OnDataLossAsync(RestoreContext restoreCtx, CancellationToken cancellationToken) 
{ 
    await this.SetupBackupManager(null); 

    try 
    { 
     string backupFolder = await this.backupManager.RestoreLatestBackupToTempLocation(cancellationToken); 

     RestoreDescription restoreRescription = new RestoreDescription(backupFolder, RestorePolicy.Force); 

     await restoreCtx.RestoreAsync(restoreRescription, cancellationToken); 

     DirectoryInfo tempRestoreDirectory = new DirectoryInfo(backupFolder); 
     tempRestoreDirectory.Delete(true); 

     return true; 
    } 
    catch (Exception e) 
    { 
     throw; 
    } 
} 

我有我的代碼在我的備份管理器來處理它,但我想不出/找到一個方法來任何東西傳遞給OnDataLossAsync。

RestoreLatestBackupToTempLocation找到最新的備份。

回答

0

您可以在集羣外部存儲該信息(如Table Storage),並在還原期間從該處讀取該信息。

編輯: 我一直在努力open source project,這將有助於使這更簡單。反饋&貢獻受歡迎。