iwinv Object Storage - Go SDK
해당 메뉴얼은 AWS S3에서 제공하는 Go SDK를 이용하여 iwinv Object Storage를 사용하는 방법을 설명합니다.
참고문서
https://docs.aws.amazon.com/ko_kr/sdk-for-go/v1/developer-guide
https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/go
Go SDK 사용하기
테스트 OS : Ubuntu 18.04 LTS
Endpoint -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> API {IDC} Endpoint
## Endpoint 입력시에는 http://kr.object.iwinv.kr 혹은 https://kr.object.iwinv.kr 과 같은 형식으로 입력해주어야 코드가 정상 실행됩니다.
Access_Key : console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> Access Key ID
Secret_Key : console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> Secret Key ID
Go 설치하기
|
Go SDK 설치하기
|
# 예제코드
버킷 생성
package main import ( func main() { sess, err := session.NewSession(&aws.Config{ svc := s3.New(sess) _, err = svc.CreateBucket(&s3.CreateBucketInput{ fmt.Printf("Waiting for bucket %q to be created...\n", bucket) err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{ fmt.Printf("Bucket %q successfully created\n", bucket) func exitErrorf(msg string, args ...interface{}) {
# 실행 명령어 go run 파일명.go [Bucket_Name] |
버킷 삭제
package main import ( func main() { bucket := os.Args[1] sess, err := session.NewSession(&aws.Config{ svc := s3.New(sess) _, err = svc.DeleteBucket(&s3.DeleteBucketInput{ fmt.Printf("Waiting for bucket %q to be deleted...\n", bucket) err = svc.WaitUntilBucketNotExists(&s3.HeadBucketInput{ fmt.Printf("Bucket %q successfully deleted\n", bucket) func exitErrorf(msg string, args ...interface{}) {
# 실행 명령어 go run 파일명.go [Bucket_Name] |
버킷 리스트 확인
package main import ( func main() { svc := s3.New(sess) result, err := svc.ListBuckets(&s3.ListBucketsInput{}) log.Println("Buckets:") for _, bucket := range result.Buckets {
|