Azure Blob Storage - Python으로 Blob 읽어오기

2021. 7. 13. 14:50Cloud Engineering

이전 글에서 blob 이름의 리스트를 확보했다면 

 

이번에는 내가 필요한 Blob의 내용을 한번 열어보는 코드를 작성해 봅시다.

 

이전 글에서 라이브러리 설치는 마쳤으니 바로 시작해보고 

만약 이글을 처음본다면 ..

링크 : https://todaycodeplus.tistory.com/24

 

Azure BlobStorage - blob List 불러오기

Azure에서 사용하는 Azure BlobStorage 내부에 계정(Account)를 생성하고 그 내부에 데이터 혹은 여러가지 파일을 담기위한 Container를 생성하게 됩니다. 그 Container에 들어있는 파일을 Azure에서 Blob이라는..

todaycodeplus.tistory.com

 

자 바로 코드를 살펴 봅시다.

 

from azure.storage.blob.blockblobservice import BlockBlobService
from tempfile import NamedTemporaryFile

def get_file(filename,container_name):

    # Blob Service 선언 
    blob_service = BlockBlobService(account_name='<<Storage Account Name>>'\
    			,account_key='<<Storage Account Primary Key>>')
    # 파일을 담을 임시 디렉토리 생성
    local_file = NamedTemporaryFile()
    # 블롭에서 Stream으로 데이터를 받아 Local_file 임시 디렉토리에 저장
    blob_service.get_blob_to_stream(container_name, filename, stream=local_file, 
    max_connections=3)
    # 저장된 파일의 0번 Memory 지정
    local_file.seek(0)

    # 지정된 메모리 리턴 
    return local_file

순서 

1. blob_service 선언 : Storage Account Name과 이 계정의 Primary Key를 입력하여 선언

2. NamedTemporaryFile을 이용한 임시 디렉토리 생성 

 --> 이는 가상의 디렉토리를 생성해 임시로 파일을 담고 처리되고 나면 삭제되는 플레시 메모리의 성격을 가지고있음.

3. 내가 가져오고싶은 컨테이너의 이름, blob이름을 넣고 이를 임시 디렉토리에 저장 

4. 디렉토리 메모리에 0번 데이터를 불러와 리턴 

 

'Cloud Engineering' 카테고리의 다른 글

Azure BlobStorage - blob List 불러오기  (0) 2021.07.13
Azure Function - import Library  (1) 2021.07.05
Azure Function - Local Project 생성  (0) 2021.07.05
Azure - VS Code Setting  (0) 2021.07.02
Azure Function - Local Setting  (0) 2021.07.02