public static object SpannerUpdateBackup(string projectId, string instanceId, string backupId) { // Create the DatabaseAdminClient instance. DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.Create(); // Retrieve existing backup. BackupName backupName = BackupName.FromProjectInstanceBackup(projectId, instanceId, backupId); Backup backup = databaseAdminClient.GetBackup(backupName); // Add 14 days to the existing ExpireTime. backup.ExpireTime = backup.ExpireTime.ToDateTime().AddDays(14).ToTimestamp(); UpdateBackupRequest backupUpdateRequest = new UpdateBackupRequest { UpdateMask = new FieldMask() { Paths = { "expire_time" } }, Backup = backup }; // Make the UpdateBackup requests. var updatedBackup = databaseAdminClient.UpdateBackup(backupUpdateRequest); Console.WriteLine($"Updated Backup ExpireTime: {updatedBackup.ExpireTime}"); return(0); }
public static object SpannerCreateBackup( string projectId, string instanceId, string databaseId, string backupId) { // Create the DatabaseAdminClient instance. DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.Create(); // Initialize request parameters. Backup backup = new Backup { DatabaseAsDatabaseName = DatabaseName.FromProjectInstanceDatabase(projectId, instanceId, databaseId), ExpireTime = DateTime.UtcNow.AddDays(14).ToTimestamp(), VersionTime = DateTime.UtcNow.ToTimestamp(), }; InstanceName parentAsInstanceName = InstanceName.FromProjectInstance(projectId, instanceId); // Make the CreateBackup request. Operation <Backup, CreateBackupMetadata> response = databaseAdminClient.CreateBackup(parentAsInstanceName, backup, backupId); Console.WriteLine("Waiting for the operation to finish."); // Poll until the returned long-running operation is complete. Operation <Backup, CreateBackupMetadata> completedResponse = response.PollUntilCompleted(); if (completedResponse.IsFaulted) { Console.WriteLine($"Error while creating backup: {completedResponse.Exception}"); return(1); } Console.WriteLine($"Backup created successfully."); // GetBackup to get more information about the created backup. BackupName backupName = BackupName.FromProjectInstanceBackup(projectId, instanceId, backupId); backup = databaseAdminClient.GetBackup(backupName); Console.WriteLine($"Backup {backup.Name} of size {backup.SizeBytes} bytes " + $"was created at {backup.CreateTime} from {backup.Database} " + $"and is in state {backup.State}" + $"and has version time {backup.VersionTime}"); return(0); }