반응형

        i.          로컬환경 및 한 수행봇이 여러 작업을 수행할 때 기준이 되는 파일을 Bucket에 저장하면 유용할 때가 많음

       ii.          부분 회복기를 가져야 할 때 회복 로그 파일을 버킷에 저장 > 모두 수행 후 Delete Storage File로 로그파일 삭제 식으로 꾸밈

Upload Storage File
오케에 올라간 모습

 

대상 경로는 버킷 기준으로 잡힌다. 폴더를 특수문자 \식으로 잡아주면 알아서 버킷에서 폴더가 구성된 후 파일이 업로드 된다... 허나 이 과정에서 짚고 넘어갈 점이 있는데, 바로 특수문자 "\"이다.

폴더를 구분하는데 보통 "\"를 쓰지만, C#환경임에도 불구하고 특수문자 처리가 되어있지 않다. 원래 C#에서 "\"를 처리하려면 "\\" 식으로 처리되어야 한다. 하지만 "\"을 한 번만 써도 폴더가 잡힌 모습이다. 이 부분에 대한 실험은 차후에 다루도록 하겠다.

 

Download Storage File
다운로드 종료 위치 설정
다운로드가 완료된 모습
대상 파일이 없을 때 오류

혹시 업로드 중 아무개 오류로 버킷에 파일이 없을 수 있다. 만약 없는 파일을 다운로드 진행 시 발생하는 오류는 BlobFileInfo 라는 오류가 발생하며, Try Catch로도 잡히니 해당 오류처리를 진행하면 되겠다.

 

List Storage Files

        i.          버킷에 있는 파일들의 목록 > 목록 내 파일 유무 판단으로 위 업/다운로드 필요성 유무를 판단

       ii.          디렉터리 > VB, C# 모두 “\” 로 적어야 연결된 오케스트레이터 폴더에 접근 >> 이 특수문자에 대한 점은 바로 차후에 다룰 예정

      iii.          스토리지 버킷 이름 > 말 그대로 목록을 가져올 버킷 이름

      iv.          출력 > 결과 자료형은 “IEnumerable”이다 바로 받아서 foreach로 돌리면서 하나씩 파일명(FullFilePath) 가져와 목표 파일명과 대조 가능 (> 없을 시 업로드 식으로 활용)

버킷 내 파일 목록 불러오는 행위
속성

 

파일 리스트업의 결과물은 IEnumerable 형식으로 저장된다. 그냥 해당 결과물을 For Each 문으로 돌리면 목록을 순회하게 된다. 여기서 ".FileFullPath"를 활용해 이름을 가져오면 쉽게 버킷 파일 이름 목록을 확인할 수 있게 된다.

 

 

오케에 올라간 모습
스튜디오에서 목록 출력된 모습

 

이렇게 파일 목록을 확인하고 위 Up/Download를 활용하면 더 손쉽게 파일 존재 오류에 대한 방어를 설계할 수 있다. Try Catch로 오류를 감지하고 업/다운로드를 진행할 수 있겠지만, 이렇게 리스트를 활용하면 뭔가 개발자 시점에서 버킷이 더 관할 하에 들어오는 기분이라 언제부턴가 애용하기 시작했다.

반응형
Posted by Lotus' Library
,