터미널에서 CLI로 생성했을 때와 마찬가지로
제일 먼저, 리소스 그룹과 지역을 설정한 후 검토 + 만들기를 눌러 리소스 그룹을 생성해 줍니다.
만들기를 한번 더 눌러줍니다.
생성한 TestRG 리소스 그룹에 들어가 '+만들기' 를 눌러줍니다.
하단의 스토리지 계정 -> 만들기 에 들어갑니다.
'검토+만들기'를 누른 후, '만들기' 를 눌러줍니다.
배포가 완료되면 '리소스로 이동' 을 눌러줍니다.
스토리지에는 다음과 같이 네 가지 종류가 있습니다.
https://azure.microsoft.com/ko-kr/features/storage-explorer/#overview
다운 받은 후 응용프로그램폴더 안으로 추가해줘야 열립니다(맥의 경우)
저는 바로 로그인이 되던데 혹시 로그인이 안되어있다면
왼쪽의 카테고리 중 전기 콘센트(..) 같이 생긴 것을 눌러 구독 카테고리에 들어가면 로그인 할 수 있도록 웹 브라우저와 연결됩니다.
Azure portal 상에서 보여지는 storage account와 storage Explorer에서 보여지는 스토리지 어카운트는 같은 것입니다.
blobcontainer 에서 우클릭 하여 blob 컨테이너 만들기를 누른 후 이름을 소문자로 작성해 줍니다.
혹은 포털에서 '컨테이너 추가' 를 눌러 생성할 수도 있습니다.
지금과 같이 연습할 때만 다음과 같이 합니다.
실제 앱 개발시에는 이렇게 하면 안됩니다.!
키표시 > key1 또는 key2의 연결 문자열 copy
pod file에
pod 'AZSClient'
추가하여 설치해 줍니다.
프로젝트.xsworkspace를 열어줍니다.
import AZSClient
가장 먼저 AZSClient 라이브러리를 임포트해줍니다.
저는 버튼을 눌러 upload할 것이기 때문에 @objc로 작성해주었습니다.
@objc func uploadIMG() {
let account: AZSCloudStorageAccount = try! AZSCloudStorageAccount(fromConnectionString: "위에서 copy한 연결 문자열")
let blobClient: AZSCloudBlobClient = account.getBlobClient()
let blobContainer: AZSCloudBlobContainer = blobClient.containerReference(fromName: "imgcon(이전에 생성한 blobContainer이름)")
let blockBlob: AZSCloudBlob = blobContainer.blockBlockReference(fromName: "03750020.PNG(image 이름)")
let imgData = self.imgV.image!.pngData()
blockBlob.upload(from: imgData!) { errorA in
print("OK")
}
}
}
이후 다음과 같이 버튼 action에 uploadIMG를 추가해줍니다.
self.btnB.addTarget(self, action: #selector(self.uploadIMG), for: UIControl.Event.touchUpInside)
업로드 실행 후 azure storage explorer 에서 refresh(보충) 버튼을 누르면 다음과 같이 이미지가 업로드된 것을 확인할 수 있습니다.
먼저 노트북의 이미지를 드래그 앤 드랍으로 azure storage explorer에 추가해줍니다.
@objc func downloadIMG() {
let account: AZSCloudStorageAccount = try! AZSCloudStorageAccount(fromConnectionString: "위에서 copy한 연결 문자열")
let blobClient: AZSCloudBlobClient = account.getBlobClient()
let blobContainer: AZSCloudBlobContainer = blobClient.containerReference(fromName: "imgcon(이전에 생성한 blobContainer이름)")
let blockBlob: AZSCloudBlob = blobContainer.blockBlockReference(fromName: "03750033.JPG(다운받을 image 이름)")
blockBlob.downloadData { err, dataA in
let downImg : UIImage = UIImage(data: dataA!)!
DispatchQueue.main.async() {
self.imgv.image = dowmImg
}
}
}
다음과 같이 download 메서드를 작성한 후 download 버튼에 해당 메서드를 추가한 후 실행합니다.