블랍 저장소 계정 내의 하나의 컨테이너에 파일이 저장되어 있습니다. 첫 번째 컨테이너의 파일을 포함하는 두 번째 컨테이너에 zip 파일을 만들어야합니다.푸른 색 블로 브 (blured) 저장소 내에서 zip 파일 만들기
저는 작업자 역할과 DotNetZip을 사용하여 작동하는 솔루션을 가지고 있습니다.하지만 zip 파일이 1GB 크기가 될 수 있기 때문에 모든 작업을 진행 중이며 MemoryStream
개체 등을 사용하는 것이 최선의 방법이 아니라고 우려하고 있습니다. 이것을하는 것. 가장 큰 관심사는 메모리 사용량과 리소스를 늘리는 것입니다.이 프로세스가 하루에 여러 번 발생할 수 있습니다.
using (ZipFile zipFile = new ZipFile())
{
foreach (var uri in uriCollection)
{
var blob = new CloudBlob(uri);
byte[] fileBytes = blob.DownloadByteArray();
using (var fileStream = new MemoryStream(fileBytes))
{
fileStream.Seek(0, SeekOrigin.Begin);
byte[] bytes = CryptoHelp.EncryptAsBytes(fileStream, "password", null);
zipFile.AddEntry("entry name", bytes);
}
}
using (var zipStream = new MemoryStream())
{
zipFile.Save(zipStream);
zipStream.Seek(0, SeekOrigin.Begin);
var blobRef = ContainerDirectory.GetBlobReference("output uri");
blobRef.UploadFromStream(zipStream);
}
}
는 사람이 더 나은 방법을하시기 바랍니다 제안 할 수 있습니다 : 아래
어떤 매우 코드 작업자의 역할에 기본 과정을 보여주는를 제거입니까?
라틴어를 사용하는 경우 +1입니다. ;) – TrueWill
예, 클라우드 서비스 webrole/workrole 내의 메모리, CPU와 같은 리소스 사용은 항상 걱정됩니다. 고려해야 할 가치가 있습니다. +1 –