我使用服务结构实现了备份和还原。 我的备份进入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 :(得分:0)
您可以将该信息存储在群集之外,例如Table Storage,并在恢复期间从那里读取。
编辑: 我一直在研究open source project,这将有助于简化这一过程。反馈&amp;贡献欢迎。