폴더

2012-01-06 7 views
1
대신 윈도우 Azure BLOB의 사용

가능한 중복 :
How to create a sub container in azure storage location폴더

내가 윈도우 Azure에서 작동하는 응용 프로그램을 마이그레이션 할. 응용 프로그램에서 파일을 서버의 특정 폴더에 업로드합니다. 이 폴더에는 다른 중첩 폴더가 들어 있으며 이러한 중첩 폴더에는 파일이 들어 있습니다. 아래

은 몇 가지 예입니다 :

  • 회사 명/CV/CV1.docx
  • 회사 명/갤러리/Pic1.jpeg
  • 회사 명/갤러리/Pic2.jpeg 이제

에서 Windows Azure, 파일을 저장하기 위해 BLOB 저장소를 사용하고 싶습니다. BLOB의 문제는 컨테이너가있어서 내 파일을 구성하기 위해 중첩 된 컨테이너를 만들 수 없다는 것입니다.

아무도 내 파일을 저장하기위한 최상의 솔루션을 찾을 수 있습니까?

답변

1

Windows Azure 드라이브를 사용할 수 있습니다.이 드라이브는 표준 하드 드라이브처럼 작동합니다. "X :"실제로 Azure Blob에 파일을 저장합니다. 이렇게하면 기존 응용 프로그램에서했던 것처럼 파일 작업을 할 수 있습니다. 이 article

윈도우 애저 드라이브에서

서버의 파일 시스템에 장착되어 로컬 NTFS 볼륨의 역할과 그 역할에서 실행되는 코드에 액세스 할 수 있습니다. Windows Azure 드라이브에 기록 된 데이터는 Windows Azure Blob 서비스 내에 정의 된 페이지 blob에 저장되고 로컬 파일 시스템에 캐시됩니다. 드라이브에 기록 된 데이터는 페이지 blob에 저장되므로 역할 인스턴스가 재순환 되더라도 데이터는 유지됩니다. 이러한 이유로 Windows Azure 드라이브를 사용하여 타사 데이터베이스 응용 프로그램과 같이 상태를 유지 관리해야하는 응용 프로그램을 실행할 수 있습니다.

new BlobRequestOptions { UseFlatBlobListing = true } 


당신에게 :

+1

하늘빛 드라이브에는 작가가 한 명만있을 수 있습니다. 파일 업로드를 허용하는 웹 또는 작업자 역할의 인스턴스가 여러 개있는 응용 프로그램의 경우 동일한 Azure 드라이브에 쓸 수 없습니다. –

2

당신은이 방법으로 블롭 컨테이너를 조작해야합니다 파일

유일한 옵션을 저장하는 푸른 BLOB 저장소를 사용할 수는 folowing 옵션을 사용하는 것입니다 이 문장을 사용하여 파일을 나열 할 수 있습니다 :

yourContainer.ListBlobs(new BlobRequestOptions { UseFlatBlobListing = true }); 

그들은 그런 식으로 나타납니다

  • 회사 명/CV/CV1.docx
  • 회사 명/갤러리/Pic1.jpeg
  • 회사 명/갤러리/PIC2합니다.JPEG


당신이 이런 식으로 파일을 검색 할 수 :

yourBlob.DownloadToFile("CompanyName/Pics/Pic2.jpeg", new BlobRequestOptions { UseFlatBlobListing = true }); 
여기이 옵션에 대한 자세한 정보를 찾을 수 있습니다

: Msdn Definition of the UseFlatBlobListing Property

1

당신은 할 수 있습니다 클라우드 드라이브를 사용하면 응용 프로그램에 NTFS 가상 드라이브를 탑재 할 수 있습니다.

하지만 가장 좋은 해결책은 BLOB storiage 구분 기호를 사용하는 것입니다. 하위 컨테이너는 만들 수 없지만 구분 기호가있는 BLOB를 추가 할 수는 있습니다. 예를 들어 컨테이너 이름/books/book1.doc 컨테이너 이름/books/book2.doc 컨테이너 이름/images/img1.jpg 구분 기호를 지정하여 모양을 나열 할 수 있습니다.