본문 바로가기
Development/Python

python 으로 Azure blob storage 연결

by 폴피드 2024. 7. 12.
728x90
반응형

Azure 의 Blob Storage 에 파일을 업로드 하고 목록을 조회하는 코드를 작성해자. 만약 Azure 의 설정관련 내용을 보고 싶다면 다음 글을 참고하면 된다.

2024.07.12 - [Development/Cloud] - [Azure] Storage 생성 및 권한 연결

import os
from unittest import TestCase

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

os.environ["AZURE_CLIENT_ID"] = ''
os.environ["AZURE_TENANT_ID"] = ''
os.environ["AZURE_CLIENT_SECRET"] = ''


class MyTests(TestCase):

    def test_azure_upload(self):
        token_credential = DefaultAzureCredential()
        blob_service_client = BlobServiceClient(account_url="https://storage202407090.blob.core.windows.net",
                                                credential=token_credential)
        container_client = blob_service_client.get_container_client(container="storage-24-07-09")
        with open(file=os.path.join('./', 'test.txt'), mode="rb") as data:
            blob_client = container_client.upload_blob(name="sample-blob20240724.txt", data=data, overwrite=True)

        blob_list = container_client.list_blobs()
        for blob in blob_list:
            print(f"Name: {blob.name}")

1. 테스트를 위해서 os.environ 을 통해 3개의 환경변수를 설정해줬다. 이 환경변수 값을 설정해놓으면 DefaultAzureCredential 에서 자동으로 읽어서 credential 을 만들어준다. 이것을 통해서 BlobServiceClient 를 생성한다.

2. 내가 만들어 놓은 "stoage-24-07-09" 를 접근 하기 위해 get_container_client 메소드를 사용한다.

3. upload_blob 을 통해서 파일을 업로드 한다.

4. 마지막으로 list_blobs 메소드를 통해서 목록을 확인할 수 있다. 

환경변수 설정만 잘 해주면 나머지 코드 작성은 정말 간단하고 쉽다.

 

728x90
반응형