SDK
SDK를 초기화하려면 Credential, Session이라는 객체를 생성해야 합니다.
Credential
GS2의 API 키를 표현하는 객체입니다.
BasicGs2Credential이라는 클래스가 정의되어 있으며, clientId / clientSecret을 사용하여 API를 이용할 때는 이 클래스를 사용합니다.
BasicGs2Credential 파라미터
| 인자명 | 설명 |
|---|---|
| clientId | 클라이언트ID |
| clientSecret | 클라이언트시크릿 |
Session
Session에는 HTTP 통신을 이용하는 Gs2RestSession과 WebSocket 통신을 이용하는 Gs2WebSocketSession의 두 가지 종류가 있습니다.
프로그래밍 언어에 따라서는 Gs2WebSocketSession이 지원되지 않는 경우가 있으며, 또한 페이로드가 커지는 요청에는 사용할 수 없는 제약이 있습니다.
따라서 서버로부터의 푸시 알림이 필요하지 않은 경우에는 원칙적으로 Gs2RestSession을 이용해 주십시오.
Gs2RestSession Request
| 인자명 | 설명 |
|---|---|
| credential | Credential 객체 |
| region | 접속 대상 GS2 리전 |
Gs2WebSocketSession Request
| 인자명 | 설명 |
|---|---|
| credential | Credential 객체 |
| region | 접속 대상 GS2 리전 |
초기화
생성한 Session 객체는 사용하기 전에 접속 처리가 필요합니다.
세션 객체에는 접속 API가 마련되어 있으며, 이를 호출함으로써 접속을 실행할 수 있습니다.
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
} $session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open(); Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect(); var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.Open(); const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
await session.connect(); session = core.Gs2RestSession(
core.BasicGs2Credential(
"your client id",
"your client secret"
),
"ap-northeast-1",
)
session.connect()카오스 모드
카오스 모드를 적용한 SDK 초기화 처리를 호출함으로써 API 요청을 일정한 확률로 실패시킬 수 있습니다. 카오스 모드를 활성화한 클라이언트를 사용하여 개발을 진행함으로써 에러 핸들링을 더욱 견고하게 만들 수 있습니다.
var session = new ChaosGs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
0.1f, // API 요청 시 10%의 확률로 재시도가 필요한 에러를 발생시킴
Region.ApNortheast1
);
yield return session.Open();마이크로서비스의 클라이언트
GS2가 제공하는 각 마이크로서비스마다 클라이언트가 마련되어 있습니다.
마이크로서비스의 클라이언트에도 Gs2AccountRestClient와 Gs2AccountWebSocketClient처럼 통신 프로토콜별 클라이언트가 마련되어 있으며, 각각 Gs2RestSession과 Gs2WebSocketSession을 필요로 합니다.
Gs2AccountRestClient Request
| 인자명 | 설명 |
|---|---|
| session | Gs2RestSession |
Gs2AccountWebSocketClient Request
| 인자명 | 설명 |
|---|---|
| session | Gs2WebSocketSession |
구현 예제
client := account.Gs2AccountRestClient{
Session: &session,
}$client = new Gs2AccountRestClient($session);Gs2AccountRestClient client = new Gs2AccountRestClient(session);var client = new Gs2AccountRestClient(session);const client = new Gs2Account.Gs2AccountRestClient(session);client = account.Gs2AccountRestClient(session)