네이버에서 클라우드 서비스를 한다.

GitHub - NaverCloudPlatform/ncloud-sdk-go-v2

여기에서 시작을 하려고 하면 매우 불친절한 설명으로 제대로 실행이 되지 않는다.

AWS의 경우에는 간단한 예제파일도 있는데...

초보자에게 환경이 제대로 되었는지 확인하려고 문의해봐도... 대답은 그닥..

어쨌거나 제공된 샘플을 실행해보기 위한 과정이다.

1. go get github.com/NaverCloudPlatform/ncloud-sdk-go-v2

이거 실행하면 package github.com/NaverCloudPlatform/ncloud-sdk-go-v2: no Go files in ... 으로 재대로 설치가 되지 않는다.

github에도 관련 issue가 있는데 오늘로 4일째 답변이 없네...

설치는 포기하고 clone로 소스를 다운받는다.

해당 프로젝트에서 샘플 소스를 실행하면 $HOME/.ncloud/configure 파일이 없다고 나온다.
github 설명에 해당 내용이 있다.

그래서 해당 경로에가서 파일을 강제로 생성한다.

이제 샘플코드를 실행해보면

인증정보가 없다고 나온다.

로그를 찍어보면

로그에서 apiKeys가 비어있는것을 확인할 수 있다.

ncloud.Keys() 에서 값이 없다는 것인데 ncloud-sdk-go-v2/ncloud/configuration.go 에 Keys() 라는 func가 있다.

들어가서 확인해보니...

case문으로 "ncloud_access_key_id"를 비교한다... 설명에는 NCLOUD_ACCESS_KEY_ID (or NCLOUD_ACCESS_KEY) 로 해놓고... 그래서 아까 생성한 configure 파일에 해당 내용을 추가했다.

왜 대문자로 된 KEY를 그냥 놔두었느냐

env_provider.go 에보면 대문자로 된 KEY를 사용한다..

어쨌거나 다시 go run을 해 보면

err Status: 401 Unauthorized, Body: {"error":{"errorCode":"200","message":"Authentication Failed","details":"This account is not allowed."}}
2021/01/19 23:37:01 Status: 401 Unauthorized, Body: {"error":{"errorCode":"200","message":"Authentication Failed","details":"This account is not allowed."}}

허용되지 않았다(This account is not allowed)로 나온다.

configure key의 값을 aaa, bbb 로 해놔서 그렇다

네이버 클라우드 플랫폼에 로그인하여 계정관리에서 해당 Key정보를 찾아 입력하면 (없으면 생성해야 함)

에러없이 호출되지만... 결과는 알 수 없는 듯 했는데..
sample code 를 보면

req := server.CreateServerInstancesRequest

server Instance를 생성하는 것이다.... console에 가봤더니.... 서버가 여러개 생성되어 있다. ㅜ.ㅜ
급하게 종료 시킨 뒤. 반납한다. 헐... 그와중에 부팅중이 또 있네..

이것으로 호출이 되는것은 확인 함.
모두 반납한다.

환경설정이 정상적으로 되었으면 (configure 파일에 키정보 정상적인지 확인)
Region 목록을 조회하는것으로 변경해본다.
TestCloud.go
(참고 : git clone으로 받은 ncloud-sdk-go-v2 폴더에 생성했다)

package main

import (
    "log"
    "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/ncloud"
   "github.com/NaverCloudPlatform/ncloud-sdk-go-v2/services/server"
    "fmt"
)

func main() {

    apiKeys := ncloud.Keys()
    fmt.Println("apiKeys", apiKeys)// log1
    client := server.NewAPIClient(server.NewConfiguration(apiKeys))
    fmt.Println("client", client)// log2

    req := server.GetRegionListRequest{
        // parameter가 없으므로 빈 {}가 된다.
    }

    if r, err := client.V2Api.GetRegionList(&req); err != nil {
        fmt.Println("err", err)// log4
        log.Println(err)
    } else {
        fmt.Println("r", r)// log5
        rList := r.RegionList
        log.Println(ncloud.StringValue(rList[0].RegionNo))
        log.Println(ncloud.StringValue(rList[0].RegionCode))
        log.Println(ncloud.StringValue(rList[0].RegionName))

    }
}

 

 

728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1933)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (162)
난 그래 (159)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :