c# blob 다운로드

다음 섹션에서는 ASP.NET 웹 API 프로젝트 내에서 Blob 저장소와 상호 작용하는 기본 사항입니다. GetBlobsAsync 메서드를 호출 하여 컨테이너에 Blobs를 나열 합니다. 이 경우 하나의 Blob만 컨테이너에 추가되므로 목록 작업은 하나의 Blob만 반환합니다. 컨테이너에 Blob을 나열하려면 API 컨트롤러의 HTTP GET 호출에서 수행한 것처럼 컨테이너에 ListBlobs를 호출합니다. Azure 저장소의 모든 Blob은 컨테이너에 있어야 합니다. 컨테이너 이름은 Azure Storage에서 Blob을 고유하게 식별하는 방법의 일부이며 모든 Blob 작업에 대한 진입점입니다. BlobQuickstartV12 디렉토리 측면에서 데이터라는 다른 디렉터리를 만듭니다. 여기서 Blob 데이터 파일이 만들어지고 저장됩니다. 이제 OpenWrite 메서드를 사용하고 새 이름을 지정하고 있습니다. 우리는 또한 다운로드토스트림 방법을 활용하고 있습니다. 응용 프로그램을 실행하는 경우 새 파일이 다운로드 폴더에 있어야 합니다.

Azure 포털에서 Blob 저장소를 쉽게 만들 수 있습니다. “저장소 계정”을 선택하고 필요한 정보를 제공합니다. 저장소 계정의 고유한 이름을 선택합니다. DeleteAsync 메서드를 사용할 수도 있지만 Blob이 직접 존재하지 않는 경우 예외를 처리해야 합니다. 앱은 Blob, 컨테이너 및 로컬 파일을 삭제하기 전에 Console.ReadLine을 호출하여 사용자 입력을 일시 중지합니다. 리소스가 삭제되기 전에 리소스가 실제로 올바르게 만들어졌는지 확인할 수 있습니다. for 루프의 Blob 항목에 는 is 식이 필요하다는 것을 알게 될 것입니다. 이는 각 Blob이 여러 Blob 형식에서 구현되는 공통 인터페이스인 IListBlobItem 형식이기 때문입니다. 이 자습서에서는 가장 일반적인 Blob 종류인 블록 Blob을 사용합니다. 페이지 Blob 또는 Blob 디렉터리로 작업하는 경우 대신 해당 유형으로 캐스팅할 수 있습니다.

컨테이너 이름은 소문자여야 합니다. 컨테이너 및 Blob 의 이름 지정에 대한 자세한 내용은 컨테이너, Blob 및 메타데이터 이름 지정 및 참조를 참조합니다. Azure-샘플/저장소-Blob-dotnet-시작에서 새 릴리스에 대한 알림을 받고 싶으십니까? 이 응용 프로그램은 로컬 데이터 폴더에 테스트 파일을 생성하고 Blob 스토리지에 업로드합니다. 그런 다음 컨테이너에 Blob을 나열하고 이전 파일과 새 파일을 비교할 수 있도록 새 이름으로 파일을 다운로드합니다. 비동기 다운로드 메서드를 호출하여 이전에 만든 Blob을 다운로드합니다. 예제 코드는 파일 이름에 “다운로드”의 접미사를 추가하여 로컬 파일 시스템에서 두 파일을 모두 볼 수 있도록 합니다. 삭제IfExistsAsync가 있는 경우 Blob을 삭제합니다. true가 Blob을 성공적으로 삭제했음을 나타내는 작업 반환하고 false는 컨테이너가 존재하지 않았음을 나타냅니다. 이 경우, 우리는 단순히 그것을 무시할 수 있습니다.

샘플 응용 프로그램을 실행한 이제 수행하는 Blob의 기본 작업을 살펴봅니다. Blob과 상호 작용하는 모든 코드는 BlobsController.cs 단일 파일에 있습니다. 아무 일도 일어나지 않으면 GitHub 데스크톱을 다운로드하고 다시 시도하십시오. 그리드의 해당 단추를 사용하여 이러한 파일을 다운로드/삭제할 수 있습니다. appsettings.js 파일에 Blob 저장소 연결 문자열 및 컨테이너 이름을 유지할 수 있습니다. 구성 클래스 파일을 사용 하 여 설정 파일에서 이러한 값을 가져옵니다. 이러한 구성 값에 액세스하려면 구성 파일 “MyConfig.cs”을 만들 수 있습니다. UploadFromStreamAsync 메서드는 Blob에 스트림으로 노출될 수 있는 모든 것을 업로드하기 위한 범용 API입니다. 업로드텍스트Async, 업로드FromFileAsync 및 업로드FromByteArrayAsync와 같은 다른 API가 있습니다. Azure Blob 저장소는 대량의 비정형 데이터를 저장하는 데 최적화되어 있습니다.