Service Fabric:还原到特定版本?

时间:2017-02-24 16:31:22

标签: c# azure sass backup azure-service-fabric

我使用服务结构实现了备份和还原。 我的备份进入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查找最新备份。

1 个答案:

答案 0 :(得分:0)

您可以将该信息存储在群集之外,例如Table Storage,并在恢复期间从那里读取。

编辑: 我一直在研究open source project,这将有助于简化这一过程。反馈&amp;贡献欢迎。