[Pub/Sub] Pub/Sub: Qwik Start - Command Line

yejin·3일 전

Google Skills

목록 보기
43/46

Course

Build Event-Driven Applications with Eventarc

Lab

목록

  • Pub/Sub: Qwik Start - Command Line ⬅️ 오늘의 Lab!
  • Cloud Run Functions: Qwik Start
  • Eventarc for Cloud Run
  • Build Event-Driven Applications with Eventarc: Challenge Lab

🌠 Pub/Sub: Qwik Start - Command Line

개요

  • Pub/Sub 주제와 구독을 만들고, 삭제하고, 나열하기
  • 주제에 메시지를 게시하기
  • pull 구독자를 사용하기

Pub/Sub 이란?

Pub/Sub는 비동기 전역 메시지 서비스로, Pub/Sub에서 자주 등장하는 세 가지 용어는 주제, 게시, 구독이다.

  • 주제(topic): 애플리케이션이 공통 스레드를 통해 서로 연결할 수 있도록 하는 공유 문자열
  • 게시(publish): 게시자가 Cloud Pub/Sub 주제로 메시지를 푸시(게시)
  • 구독(subscription): 구독자는 구독에서 메시지를 가져오거나 푸시 구독을 위한 웹훅을 구성한다. 구성 가능한 기간 안에 모든 구독자가 각 메시지를 확인해야 한다.

실습과정

1. Pub/Sub 주제

(1) 주제 생성

# myTopic 이라는 주제 생성
gcloud pubsub topics create myTopic

(2) 삭제 테스트

# 삭제 테스트 할 테스트용 주제 생성
gcloud pubsub topics create Test1
gcloud pubsub topics create Test2

# 생성된 주제 목록 확인
gcloud pubsub topics list

# 주제 삭제
gcloud pubsub topics delete Test1
gcloud pubsub topics delete Test2

# 주제 목록 확인
gcloud pubsub topics list

2. Pub/Sub 구독

(1) 구독 생성

# myTopic 에 대해 mySubscription 구독 생성
gcloud  pubsub subscriptions create --topic myTopic mySubscription

(2) 구독 삭제 테스트

# 삭제 테스트용 구독 생성
gcloud  pubsub subscriptions create --topic myTopic Test1
gcloud  pubsub subscriptions create --topic myTopic Test2

# myTopic에 대한 구독 목록 확인
gcloud pubsub topics list-subscriptions myTopic

# 구독 삭제
gcloud pubsub subscriptions delete Test1
gcloud pubsub subscriptions delete Test2

# 구독 목록 확인
gcloud pubsub topics list-subscriptions myTopic

3. Pub/Sub 게시 및 단일 메시지 가져오기

(1) 주제에 메시지 게시


gcloud pubsub topics publish myTopic --message "Hello"
gcloud pubsub topics publish myTopic --message "Publisher's name is <YOUR NAME>"
gcloud pubsub topics publish myTopic --message "Publisher likes to eat <FOOD>"
gcloud pubsub topics publish myTopic --message "Publisher thinks Pub/Sub is awesome"

(2) 메시지 가져오기

gcloud pubsub subscriptions pull mySubscription --auto-ack

참고✨

pull 명령어를 사용하여 주제에서 메시지를 가져온다.
pull 명령어는 구독 기반이기 때문에 앞에서 myTopic 주제에 대해 mySubscription 구독을 설정했으므로 이 명령어는 정상적으로 작동한다.

주의🤖

  • 플래그 없이 pull 명령어를 사용하면 둘 이상의 메시지가 있는 주제를 구독하더라도 메시지가 하나만 출력된다.
  • 특정 구독 기반 pull 명령어에서 개별 메시지가 출력되었으면 pull 명령어로 해당 메시지에 다시 액세스할 수 없다.

4. Pub/Sub 구독에서 모든 메시지 가져오기

(1) 메시지 추가

gcloud pubsub topics publish myTopic --message "Publisher is starting to get the hang of Pub/Sub"
gcloud pubsub topics publish myTopic --message "Publisher wonders if all messages will be pulled"
gcloud pubsub topics publish myTopic --message "Publisher will have to test to find out"

(2) limit 플래그 사용하여 가져오기

gcloud pubsub subscriptions pull mySubscription --limit=3

참고✨

현재까지 사용한 플래그 종류

  • --auto-ack : 가져온 메시지를 깔끔한 상자에서 볼 수 있도록 형식을 지정
  • --limit : 가져올 메시지 수의 상한을 설정
profile
새싹 개발자

0개의 댓글