2012-08-31 4 views
0

Azure Blob 컨테이너에 너무 많은 파일을 업로드하는 가장 좋은 방법을 알고 계십니까?많은 양의 파일을 얼룩에 업로드하십시오.

저는 현재 Azure blob 저장소에 여러 파일을 업로드하려고합니다. 파일 수는 30,000 개 이상일 수 있습니다 (각 파일의 크기는 10KB ~ 1MB입니다). 첫째, 파일 위치 목록이 있습니다. 그런 다음 Parallel.Foreach를 사용하여 파일을 업로드합니다. 이런 코드 :

'에서 위치 = ...

Parallel.Foreach (위치, 위치 =>
{
...
UploadFromStream (...);
.. .
});
코드가 불일치 결과로 실행됩니다.

때로는 잘 실행되어 Azure blob 컨테이너에 업로드 된 모든 파일을 볼 수 있습니다. 이 같은

가끔, 내가 가진 것 예외 :

는 서버가 요청을 인증하지 못했습니다. 인증 헤더 값이 서명을 포함하여 올바르게 형성되었는지 확인하십시오. 내부 예외 : 원격 서버에서 오류를 반환했습니다. (403) 금지됨

간혹 예외가 발생합니다.

며칠 동안 문제를 해결하기 위해 노력했지만 불행히도 완벽한 해결책은 아직 없습니다. 그래서 비슷한 시나리오를 처리 할 때 어떻게 할 수 있는지 알고 싶습니다. Azure blob 저장소에 너무 많은 파일을 업로드 할 때 어떻게해야합니까?

답변

0

마지막으로, 내 코드에 무엇이 잘못된 것인지 찾지 못했습니다.

그러나이 문제에 대한 해결책을 찾았습니다. 나는 평행선을 만료한다. 보통, 일반적인 foreach를 사용한다. 그런 다음 UploadFromStream 대신 BeginuploadFromStream 메서드를 사용합니다. 실제로 파일을 비동기 적으로 업로드합니다.

지금까지 예외없이 아무런 문제없이 안정적으로 실행됩니다.