Azure表存储对Azure存储Blob的增量备份

时间:2017-09-26 23:03:10

标签: azure-storage-blobs azure-table-storage azcopy

有什么方法可以将Azure表存储备份添加到Azure Blob增量方式中。 AZcopy提供了表的完全备份解决方案,但没有增量备份。

我是否有办法恢复Azure存储表,如果我从Azure存储资源管理器中删除它?

2 个答案:

答案 0 :(得分:0)

据我所知,目前azure不支持将表数据自动备份到blob中。

我们需要写代码才能达到这个要求。

我建议您可以使用azure webjobs / function或azcopy(如您所说)来实现此目的。

如果您想实现自动备份数据。

我建议你可以尝试使用定时器触发功能来运行可以每天或每分钟备份数据的代码。

有关如何使用计时器触发器的更多详细信息,您可以参考此article(天蓝色功能)或this(网络作业)。

答案 1 :(得分:0)

我们写了一个。NET library来备份表和Blob。您可以在azure函数计时器触发器中轻松实现此功能。

在此blog中,我解释了如何使用Azure函数来实现它。

[FunctionName("Function1")]
public static async Task Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log, ExecutionContext context)
{
  var sourceAccountName = Environment.GetEnvironmentVariable("BackupSourceAccountName");
  var sourceKey = Environment.GetEnvironmentVariable("BackupSourceAccountKey");

  var backupAzureStorage = new Luminis.AzureStorageBackup.BackupAzureStorage(sourceAccountName, sourceKey, log, context.FunctionAppDirectory);

  var destinationAccountName = Environment.GetEnvironmentVariable("BackupDestinationAccountName");
  var destinationKey = Environment.GetEnvironmentVariable("BackupDestinationAccountKey");
  var destinationContainerName = Environment.GetEnvironmentVariable("BackupDestinationContainer");

  // Backup Tables
  await backupAzureStorage.BackupAzureTablesToBlobStorage("table1,table2", destinationAccountName, destinationKey, destinationContainerName, "tables");

  // Backup Blobs
  await backupAzureStorage.BackupBlobStorage("container1,container2", destinationAccountName, destinationKey, destinationContainerName, "blobs");
}