Package: azure-storage-helper
azure-storage-helperAzure의 storage 서비스를 사용하기 위한 Python SDK를 좀 더 쉽게 사용할 수 있도록 도와줍니다.현재 지원하고 있는 SDK는 다음 2개 라이브러리이며, Blob container만 지원하고 있습니다.Blob Storage (azure-storage-blob)Datalake Storage Gen2 (azure-storage-file-datalake)목차azure-storage-helper목차Getting startedInstallationPackage overviewUser GuideStorageClientExamplePropertyMethodContainerClientExamplePropertyMethodDirectoryClientExamplePropertyMethodBlobClientExamplePropertyMethodhelperGetting startedInstallationazure-storage-helper는 pip 명령어를 통해 PyPI으로부터 설치할 수 있습니다.pip install pandasPackage overview본 패키지에서는 4개의 Client를 제공합니다.StorageClient > ContainerClient > DirectoryClient(gen2만 해당) > BlobClienthelper에서는 BlobClient를 이용하여 파일 업로드/다운로드 등 자주 수행하는 작업을 함수로 제공합니다.User Guide본 가이드는gen2를 기준으로 작성되었습니다.gen1은DirectoryClient가 없으며, 일부 기능에 제한이 있을 수 있습니다.StorageClientAzure Storage Account에 대한 클라이언트입니다.다음 두 개의 인자를 이용해 생성할 수 있습니다.account_name: Storage Account의 이름account_key: Storage Account에 접근하기 위한 keyExamplefromazure.gen2importStorageClientaccount_name="account_name"account_key="account_key"storage=StorageClient(account_name=account_name,account_key=account_key)PropertyclientOriginal SDK의 client(azure.storage.filedatalake.DataLakeServiceClient)를 반환합니다. 본 패키지에서 제공하지 않는 기능이 필요한 경우 사용할 수 있습니다.gen1에서는 azure.storage.blob.BlobServiceClientMethodcontainers(name_starts_with: str = None) -> list[ContainerClient]현재 스토리지 계정에 존재하는 컨테이너 리스트를 반환합니다.get_container(name: str) -> ContainerClient특정 이름의 컨테이너를 반환합니다.get_directory(path: str) -> DirectoryClient특정 경로의 디렉토리를 반환합니다.경로는<container>/<directory-path>로 나타냅니다.gen1에서는 제공하지 않습니다.get_blob(path: str) -> BlobClient특정 경로의 블랍을 반환합니다.경로는<container>/<directory-path>/<blob-name>으로 나타냅니다.ContainerClientContainer에 대한 클라이언트입니다.다음 두 개의 인자를 이용해 생성할 수 있습니다.name: 컨테이너 이름storage: StorageClientExamplefromazure.gen2importContainerClientcontainer=ContainerClient("raw",storage)ifnotcontainer.exists():container.create()Propertyname컨테이너 이름clientOriginal SDK의 client(azure.storage.filedatalake.FileSystemClient)를 반환합니다. 본 패키지에서 제공하지 않는 기능이 필요한 경우 사용할 수 있습니다.gen1에서는 azure.storage.blob.ContainerClientMethodexists() -> bool컨테이너의 존재 유무를 반환합니다.create(exist_ok=False, **kwargs) -> None컨테이너를 생성합니다.exist_ok가True이면 컨테이너가 이미 존재할 시 에러가 발생하지 않습니다.delete(**kwargs) -> None컨테이너를 삭제합니다.glob(path: str = None, name_starts_with: str = None, recursive: bool = True) -> list[BlobClient]현재 컨테이너에 존재하는 조건에 부합하는 모든 blob을 반환합니다.path는 현재 컨테이너로부터 검색하려는 디렉토리의 상대 경로입니다.name_starts_with는 blob 이름의 접두사입니다.recursive는 재귀적으로 하위 디렉토리에 대한 검색 여부를 나타냅니다.gen1에서는recursive옵션 기능을 제공하지 않습니다.get_directory(path: str) -> DirectoryClient현재 컨테이너로부터 특정 경로에 있는 DirectoryClient를 반환합니다.경로는 컨테이너 이름을 제외한 현재 컨테이너로부터 디렉토리의 상대 경로입니다.gen1에서는 제공하지 않습니다.get_blob(path: str) -> BlobClient현재 컨테이너로부터 특정 경로의 BlobClient를 반환합니다.경로는 컨테이너 이름을 제외한 현재 컨테이너로부터 blob의 상대 경로입니다.DirectoryClientDirectory에 대한 클라이언트입니다.다음 두 개의 인자를 이용해 생성할 수 있습니다.※ gen1에서는 제공하지 않습니다.path: 컨테이너를 포함하는 디렉토리의 절대 경로storage: StorageClientExamplefromazure.gen2importDirectoryClientdirectory=DirectoryClient("raw/folder/subfolder",storage)ifnotdirectory.exists():directory.create()Propertyname디렉토리 이름path컨테이너를 포함하는 디렉토리의 절대 경로clientOriginal SDK의 client(azure.storage.filedatalake.DataLakeDirectoryClient)를 반환합니다. 본 패키지에서 제공하지 않는 기능이 필요한 경우 사용할 수 있습니다.container현재 디렉토리의 상위 컨테이너에 대한 ContainerClientparent현재 디렉토리의 상위 클라이언트DirectoryClient 또는 ContainerClientMethodexists() -> bool디렉토리의 존재 유무를 반환합니다.create(exist_ok=False, **kwargs) -> None디렉토리를 생성합니다.exist_ok가True이면 디렉토리가 이미 존재할 시 에러가 발생하지 않습니다.delete(**kwargs) -> None디렉토리를 삭제합니다.glob(name_starts_with: str = None, recursive: bool = True) -> list[BlobClient]현재 디렉토리에 존재하는 조건에 부합하는 모든 blob을 반환합니다.name_starts_with는 blob 이름의 접두사입니다.recursive는 재귀적으로 하위 디렉토리에 대한 검색 여부를 나타냅니다.get_directory(path: str) -> DirectoryClient현재 디렉토리로부터 특정 경로에 있는 DirectoryClient를 반환합니다.경로는 현재 디렉토리로부터 해당 디렉토리의 상대 경로입니다.get_blob(path: str) -> BlobClient현재 디렉토리로부터 특정 경로의 BlobClient를 반환합니다.경로는 현재 디렉토리로부터 blob의 상대 경로입니다.BlobClientBlob에 대한 클라이언트입니다.다음 두 개의 인자를 이용해 생성할 수 있습니다.path: 컨테이너를 포함하는 디렉토리의 절대 경로storage: StorageClientExamplefromazure.gen2importBlobClientblob=BlobClient("raw/folder/blob.txt",storage)ifnotblob.exists():blob.create()PropertynameBlob 이름path컨테이너를 포함하는 Blob의 절대 경로clientOriginal SDK의 client(azure.storage.filedatalake.DataLakeFileClient)를 반환합니다. 본 패키지에서 제공하지 않는 기능이 필요한 경우 사용할 수 있습니다.gen1에서는 azure.storage.blob.BLobClientcontainer현재 Blob의 상위 컨테이너에 대한 ContainerClientparent현재 Blob의 상위 클라이언트DirectoryClient 또는 ContainerClientgen1에서는 제공하지 않습니다.Methodexists() -> boolBlob의 존재 유무를 반환합니다.create(exist_ok=False, **kwargs) -> NoneBlob를 생성합니다.exist_ok가True이면 Blob이 이미 존재할 시 에러가 발생하지 않습니다.gen1에서는 제공하지 않습니다.delete(**kwargs) -> NoneBlob을 삭제합니다.upload(bytes: BytesIO, overwrite: bool = True) -> None현재 blob에 바이트 스트림의 내용을 작성합니다.download() -> BytesIO현재 blob의 내용을 바이트 스트림으로 받아옵니다.helperload_yaml(blob: BlobClient) -> dictload_csv(blob: BlobClient, **kwargs) -> DataFrameload_jobib(blob: BlobClient) -> Anyupload_to_csv(blob: BlobClient, data: DataFrame, encode: str = "utf-8", **kwargs)upload_to_parquet(blob: BlobClient, data: DataFrame, **kwargs)upload_file(blob: BlobClient, local_path: str, overwrite: bool = True)download_file(blob: BlobClient, local_path: str, file_name: str = None) -> str