메시지를 게시하고 토픽 및 구독을 관리하기 위해 Google Cloud Pub/Sub gRPC API를 호출하는 형식화된 인터페이스입니다.
Google Cloud Pub/Sub은 독립적인 애플리케이션 간에 메시지를 보내고 받기 위한 완전 관리형 메시징 서비스입니다. gRPC API는 google.pubsub.v1.Publisher 서비스(토픽 및 게시)와 google.pubsub.v1.Subscriber 서비스(구독 및 메시지 전달)를 통해 제공되며, TLS를 통해 pubsub.googleapis.com:443에서 접근합니다.
요청과 응답은 TsgcGRPCPubSubListTopicsRequest / TsgcGRPCPubSubListTopicsResponse, TsgcGRPCPubSubTopic, TsgcGRPCPubSubPublishRequest / TsgcGRPCPubSubPublishResponse, TsgcGRPCPubSubSubscription, TsgcGRPCPubSubPullRequest / TsgcGRPCPubSubPullResponse 및 TsgcGRPCPubSubAcknowledgeRequest와 같은 형식화된 클래스로 작성되므로, Protocol Buffers를 직접 인코딩할 필요가 없습니다.
아래 예제는 서비스 계정 JWT로 인증하고, Pub/Sub 호스트에 대해 TsgcHTTP2Client 위에 TsgcGRPCClient를 연결하고, authorization Bearer 메타데이터를 설정한 후, 프로젝트에 대해 ListTopics를 호출합니다.
TsgcHTTP2Client *oHTTP2 = new TsgcHTTP2Client();
oHTTP2->Host = "pubsub.googleapis.com";
oHTTP2->Port = 443;
oHTTP2->TLS = true;
TsgcGRPCClient *oGRPC = new TsgcGRPCClient();
oGRPC->Client = oHTTP2;
// service-account JWT authentication
oGRPC->GoogleCloudOptions->JWT->KeyFile = "service-account.json";
oGRPC->GoogleCloudOptions->JWT->API_Endpoint = "https://pubsub.googleapis.com/";
oGRPC->DefaultMetadata->AddValue("authorization", "Bearer " + oGRPC->GoogleCloudOptions->JWT->Token);
// build the typed request and call the method
TsgcGRPCPubSubListTopicsRequest *oRequest = new TsgcGRPCPubSubListTopicsRequest();
oRequest->Project = "projects/my-project-id";
TsgcGRPCResponse *oResponse = oGRPC->Call("google.pubsub.v1.Publisher", "ListTopics", oRequest->ToBytes());
ShowMessage(oResponse->DataString);
delete oRequest;
| Name | 설명 |
|---|---|
| ListTopics | Publisher 서비스: 프로젝트에 존재하는 토픽을 나열합니다. |
| CreateTopic | Publisher 서비스: 새 토픽을 생성합니다. |
| DeleteTopic | Publisher 서비스: 기존 토픽을 삭제합니다. |
| Publish | Publisher 서비스: 토픽에 하나 이상의 메시지를 게시합니다. |
| CreateSubscription | Subscriber 서비스: 토픽에 구독을 생성합니다. |
| DeleteSubscription | Subscriber 서비스: 기존 구독을 삭제합니다. |
| Pull | Subscriber 서비스: 구독에서 메시지를 가져옵니다. |
| Acknowledge | Subscriber 서비스: 구독에서 수신된 메시지를 확인합니다. |
| StreamingPull | Subscriber 서비스: 흐름 제어와 함께 메시지를 양방향 스트리밍으로 전달합니다. |
작동하는 샘플은 데모 폴더 Demos/21.GRPC/10.PubSub에서 제공되며, 인증하고 토픽을 나열 및 생성하고 메시지를 게시하며 구독에서 가져오는 방법을 보여줍니다.