private async Task CopyAndAdopt(MigrationJob job) { _bucketProvider.SetBucketKeyFromOld(job.bucket.BucketKey); OssBucket bucketNew = await _userResolver.GetBucketAsync(true); string signedUrlOld = await job.bucket.CreateSignedUrlAsync(job.projectUrl, ObjectAccess.Read); string signedUrlNew = await bucketNew.CreateSignedUrlAsync(job.projectUrl, ObjectAccess.ReadWrite); try { await _projectWork.FileTransferAsync(signedUrlOld, signedUrlNew); } catch (Exception e) { _logger.LogError(e, $"Project {job.projectInfo.Name} cannot be copied."); return; } try { await _projectWork.AdoptAsync(job.projectInfo, signedUrlNew); _logger.LogInformation($"Project {job.projectInfo.Name} was adopted"); } catch (Exception e) { _logger.LogError(e, $"Project {job.projectInfo.Name} was not adopted"); } }
public async Task Migrate(List <MigrationJob> migrationJobs) { foreach (MigrationJob job in migrationJobs) { _bucketProvider.SetBucketKeyFromOld(job.bucketOld.BucketKey); OssBucket bucketNew = await _userResolver.GetBucketAsync(true); string signedUrlOld = await job.bucketOld.CreateSignedUrlAsync(job.projectUrl, ObjectAccess.Read); string signedUrlNew = await bucketNew.CreateSignedUrlAsync(job.projectUrl, ObjectAccess.ReadWrite); try { await _projectWork.FileTransferAsync(signedUrlOld, signedUrlNew); } catch (Exception e) { _logger.LogError("Project " + job.projectInfo.Name + " cannot be copied\nException:" + e.Message); continue; } try { await _projectWork.AdoptAsync(job.projectInfo, signedUrlNew); _logger.LogInformation("Project " + job.projectInfo.Name + " was adopted"); } catch (Exception e) { _logger.LogError("Project " + job.projectInfo.Name + " was not adopted\nException:" + e.Message); } } }
private async Task GenerateConfiguration(string logId) { _bucketProvider.SetBucketKeyFromOld(bucket.BucketKey); _logger.LogInformation($"{logId}: Generating config for project {projectInfo.Name} in bucket {bucket.BucketKey}"); OssBucket bucketNew = await _userResolver.GetBucketAsync(); try { await _projectWork.DoSmartUpdateAsync(parameters, projectInfo.Name); _logger.LogInformation($"{logId}: Configuration {parameters} for project {projectInfo.Name} was generated."); } catch (Exception e) { _logger.LogError(e, $"{logId}: Configuration {parameters} for project {projectInfo.Name} was NOT generated."); } return; }