Google Cloud Pub/Sub

메시지를 게시하고 토픽 및 구독을 관리하기 위해 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 / TsgcGRPCPubSubPullResponseTsgcGRPCPubSubAcknowledgeRequest와 같은 형식화된 클래스로 작성되므로, 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;

Methods

Name설명
ListTopicsPublisher 서비스: 프로젝트에 존재하는 토픽을 나열합니다.
CreateTopicPublisher 서비스: 새 토픽을 생성합니다.
DeleteTopicPublisher 서비스: 기존 토픽을 삭제합니다.
PublishPublisher 서비스: 토픽에 하나 이상의 메시지를 게시합니다.
CreateSubscriptionSubscriber 서비스: 토픽에 구독을 생성합니다.
DeleteSubscriptionSubscriber 서비스: 기존 구독을 삭제합니다.
PullSubscriber 서비스: 구독에서 메시지를 가져옵니다.
AcknowledgeSubscriber 서비스: 구독에서 수신된 메시지를 확인합니다.
StreamingPullSubscriber 서비스: 흐름 제어와 함께 메시지를 양방향 스트리밍으로 전달합니다.

Demo

작동하는 샘플은 데모 폴더 Demos/21.GRPC/10.PubSub에서 제공되며, 인증하고 토픽을 나열 및 생성하고 메시지를 게시하며 구독에서 가져오는 방법을 보여줍니다.

참조