베하 ~! 😊
지난 시간에 배운 Pub/Sub 개념을 가지고 간단하게 Message 게시를 해보겠습니다.
먼저 저번 시간에 나왔던 거 중에서 다시 정리를 드리자면 아시다시피 Google Cloud Pub/Sub는 비동기식 글로벌 메시징 서비스입니다.
게시자는 메시지를 생성하여 주제에 보내고, 구독자는 메시지를 수신하기 위해 주제에 대한 구독을 생성합니다.
여기서는 파이썬을 사용하여 주제, 구독자를 생성한 다음 메시지까지 만드는 명령어를 간단하게 정리해보겠습니다.
Settings
# python 가상 환경 생성
sudo apt-get install -y virtualenv
python3 -m venv venv
source venv/bin/activate
# library 설치
pip install --upgrade google-cloud-pubsub
1. 주제 생성(Create a topic)
- Cloud Pub/Sub에 데이터를 게시하려면 Topic을 만든 다음 해당 주제에 대한 Publisher를 구성합니다.
#publisher.py
usage: publisher.py [-h]
project
{list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings}
...
This application demonstrates how to perform basic operations on topics
with the Cloud Pub/Sub API.
For more information, see the README.md under /pubsub and the documentation
at <https://cloud.google.com/pubsub/docs>.
positional arguments:
project Your Google Cloud project ID
{list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings}
list Lists all Pub/Sub topics in the given project.
create Create a new Pub/Sub topic.
delete Deletes an existing Pub/Sub topic.
publish Publishes multiple messages to a Pub/Sub topic.
publish-with-custom-attributes
Publishes multiple messages with custom attributes to
a Pub/Sub topic.
publish-with-futures
Publishes multiple messages to a Pub/Sub topic and
prints their message IDs.
publish-with-error-handler
Publishes multiple messages to a Pub/Sub topic with an
error handler.
publish-with-batch-settings
Publishes multiple messages to a Pub/Sub topic with
batch settings.
optional arguments:
-h, --help show this help message and exit
# Topic 생성
python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic
# Topic 확인
python publisher.py $GOOGLE_CLOUD_PROJECT list
Topic created: name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"
2. 구독 생성(Create a Subscription)
# 구독 생성
python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub
# 구독 생성 확인
python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project
3. 메시지 게시(Message Publish)
- MyTopic에 몇 가지 메시지 게시
# 메시지 게시
gcloud pubsub topics publish MyTopic --message "Hello"
gcloud pubsub topics publish MyTopic --message "Publisher's name is thanghun"
gcloud pubsub topics publish MyTopic --message "Publisher likes to eat chicken"
gcloud pubsub topics publish MyTopic --message "Publisher thinks Pub/Sub is awesome"
4. 메시지 보기(View messages)
- MyTopic에 메시지를 게시했으므로 MySub를 사용하여 메시지를 가져옵니다.
python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub
그럼 다음 시간에 봐요 ~
베빠~ 😊
'Database' 카테고리의 다른 글
MySQL 일일 단위 백업 자동화 (0) | 2023.12.29 |
---|---|
Airflow 환경 이전 (0) | 2023.12.24 |
Pub/Sub (0) | 2023.12.15 |
Parquet 데이터 수정하기 (2) | 2023.12.08 |
Cloud Spanner (0) | 2023.11.24 |
댓글