클라이언트 라이브러리를 사용하여 Pub/Sub에서 메시지 게시 및 수신
Pub/Sub 서비스를 활용하면 애플리케이션으로 안정적이고 신속하며 비동기적인 방식으로 메시지를 주고받을 수 있습니다. 다음은 이벤트 시퀀스입니다.
- 데이터 제작자는 Pub/Sub 주제에 메시지를 게시합니다.
- 구독자 클라이언트가 해당 주제에 대한 구독을 생성하고 구독이 전달하는 메시지를 소비하게 됩니다.
Google Cloud 콘솔, Cloud Shell, 클라이언트 라이브러리 또는 REST API 방법 중에서 하나를 사용하여 Pub/Sub 환경을 설정할 수 있습니다. 이 페이지에서는 클라이언트 라이브러리를 사용하여 Pub/Sub로 메시지 게시를 시작하는 방법을 보여줍니다.
Pub/Sub는 높은 수준 및 낮은 수준의 자동 생성 클라이언트 라이브러리를 제공합니다. 기본적으로 이 빠른 시작에서와 같이 높은 수준의 클라이언트 라이브러리를 사용하는 것이 좋습니다.
Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Google 계정에 역할을 부여합니다. 다음 각 IAM 역할에 대해 다음 명령어를 한 번씩 실행합니다.
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
PROJECT_ID
를 프로젝트 ID로 바꿉니다.EMAIL_ADDRESS
를 이메일 주소로 바꿉니다.ROLE
을 각 개별 역할로 바꿉니다.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Google 계정에 역할을 부여합니다. 다음 각 IAM 역할에 대해 다음 명령어를 한 번씩 실행합니다.
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
PROJECT_ID
를 프로젝트 ID로 바꿉니다.EMAIL_ADDRESS
를 이메일 주소로 바꿉니다.ROLE
을 각 개별 역할로 바꿉니다.
클라이언트 라이브러리 설치
다음 샘플은 클라이언트 라이브러리 설치 방법을 보여줍니다.
Python
Python 개발 환경 설정에 관한 자세한 내용은 Python 개발 환경 설정 가이드를 참조하세요.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
C++ 라이브러리 설치에 대한 자세한 내용은 GitHub README
를 참조하세요.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Node.js
npm install --save @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
주제 및 구독 만들기
주제를 만들면 주제를 구독하거나 주제에 게시할 수 있습니다.
다음의 gcloud pubsub topics create 명령어를 사용하여 my-topic
이라는 주제를 만듭니다. 남은 튜토리얼 부분에서 참조되므로 주제 이름을 변경하지 마세요.
gcloud pubsub topics create my-topic
gcloud pubsub subscriptions create 명령어를 사용하여 구독을 만듭니다. 구독자 애플리케이션은 구독이 생성된 이후에 주제에 게시된 메시지만 사용할 수 있습니다.
gcloud pubsub subscriptions create my-sub --topic my-topic
주제 및 구독 이름 지정에 대한 자세한 내용은 리소스 이름을 참조하세요.
메시지 게시
다음 샘플을 실행하기 전에 주석 처리를 삭제하고 코드에 표시된 필수 값을 채워야 합니다. 이는 이전에 만든 프로젝트 및 Pub/Sub 리소스에 샘플을 연결하는 데 필요합니다.
주제 ID에 my-topic
을 사용합니다.
Python
C++
C#
Go
자바
Node.js
Node.js
PHP
Ruby
메시지 수신
방금 게시한 메시지를 구독자가 가져오도록 설정합니다. 모든 구독자는 구성 가능한 기한 안에 각 메시지를 확인해야 합니다. 확인하지 않은 메시지는 다시 전송됩니다. Pub/Sub는 종종 모든 메시지가 최소 한 번은 구독자에게 전송되도록 메시지를 두 번 이상 전달합니다.
다음 샘플을 실행하기 전에 주석 처리를 삭제하고 코드에 표시된 필수 값을 채워야 합니다. 이는 이전에 만든 프로젝트 및 Pub/Sub 리소스에 샘플을 연결하는 데 필요합니다.
구독 ID에 my-sub
를 사용합니다.
메시지를 가져오는 방법을 보여주는 더 많은 예시는 클라이언트 라이브러리 코드 샘플을 참조하세요.
Python
C++
C#
Go
자바
Node.js
PHP
Ruby
어땠나요?
삭제(선택사항)
- 이 가이드에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 명령줄을 사용하여 주제와 구독을 삭제하면 됩니다.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
선택사항: 만든 사용자 인증 정보를 취소하고 로컬 사용자 인증 정보 파일을 삭제합니다.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
다음 단계
이 페이지에서 설명하는 Pub/Sub 개념에 대해 자세히 알아보기
Pub/Sub 서비스의 기본사항 읽어보기
별도의 두 구독자 애플리케이션에 게시하는 게시자 애플리케이션을 만들어 일대다 Pub/Sub 시스템을 빌드하는 방법 알아보기
gCloud CLI 또는 콘솔을 사용하는 다른 Pub/Sub 빠른 시작 사용해 보기
Pub/Sub API 자세히 알아보기
Kotlin을 사용하여 Pub/Sub를 실행하는 방법 알아보기