/// <summary> /// Compara los ficheros que hay en local con s3 para descargar y subir los que falten /// </summary> public void CompareFiles() { S3Management s3m = new S3Management(); List <string> s3List = RemoteFiles(); List <string> localList = LocalFiles(); List <string> toDownload = new List <string>(); List <string> toUpload = new List <string>(); //archivos de s3 que no están en toDownload = s3List.Except(localList).ToList(); //Ver archivos en local que no están en s3 toUpload = localList.Except(s3List).ToList(); //Update files foreach (string file in toDownload) { s3m.DownloadFile(file); } foreach (string file in toUpload) { s3m.UploadFile(file); } }
private static List <string> RemoteFiles() { S3Management s3m = new S3Management(); List <string> list = new List <string>(); ListObjectsResponse listToParse = s3m.ListAllFiles(); foreach (S3Object obj in listToParse.S3Objects) { list.Add(obj.Key); } return(list); }