Trong bài viết này tôi sẽ nói về cách tạo một topic để chúng ta có thể publish messages tới đó
Trước khi bắt đầu bạn nên biết tổng quan về topic pub/sub
Đây là link bài viết trước đó của tôi bạn có thể tham khảo: https://ant.ncc.asia/google-cloud-platform-cloud-pub-sub-trigger/
Topic Pub/Sub là một tài nguyên được đặt tên đại diện cho nguồn cấp dữ liệu của tin nhắn. Khi a publisher gửi tin nhắn, nó sẽ nhắm mục tiêu đến một topic cụ thể. Dịch vụ Pub/Sub sử dụng tên topic này để định tuyến thông báo tới tất cả các subscription gắn liền với topic. Nếu có nhiều subscribers cho một subscription thì chỉ một subscriber trong subscription đó nhận được tin nhắn.
Publishers không cần biết có bao nhiêu subscribers . Họ tập trung vào topic, đảm bảo tách biệt mối quan tâm giữa việc gửi tin nhắn và nhận tin nhắn.
Pub/Sub hỗ trợ hai loại chủ đề: a standard topic và an import topic nhưng trong bài viết này tôi sẽ chỉ nói về cách tạo mới stand topic
Để tạo chủ đề, bạn có thể sử dụng bảng điều khiển Google Cloud, Google Cloud CLI, thư viện ứng dụng khách hoặc API Pub/Sub.
Khi bạn tạo hoặc cập nhật một chủ đề, bạn phải chỉ định các thuộc tính của nó.
Thêm subscription mặc định:
- ID đăng ký của
-sub
- Loại kéo giao hàng
- Thời gian lưu giữ tin nhắn là bảy ngày
- Hết hạn sau 31 ngày không hoạt động
- Thời hạn xác nhận là 10 giây
- Chính sách thử lại ngay lập tức
Sử dụng một schema
Schema là định dạng mà trường dữ liệu tin nhắn phải tuân theo. Schema là hợp đồng giữa nhà xuất bản và người đăng ký mà Pub/Sub thực thi. Các lược đồ chủ đề giúp chuẩn hóa các loại tin nhắn và quyền để cho phép chúng được sử dụng bởi các nhóm khác nhau trong tổ chức của bạn. Pub/Sub tạo ra một cơ quan trung tâm cho các loại tin nhắn và quyền. Để tạo chủ đề có lược đồ
Bật ingestion
Bật thuộc tính này cho phép bạn nhập dữ liệu phát trực tuyến từ các nguồn bên ngoài vào một chủ đề để bạn có thể sử dụng các tính năng của Google Cloud. Để tạo chủ đề nhập để nhập
Bật message retention
Chỉ định thời gian chủ đề Pub/Sub lưu giữ tin nhắn sau khi xuất bản. Sau khi thời gian lưu giữ tin nhắn kết thúc, Pub/Sub có thể hủy tin nhắn bất kể trạng thái xác nhận của tin nhắn. Phí lưu trữ tin nhắn được tính để lưu trữ tất cả tin nhắn được xuất bản lên chủ đề
- Mặc định = Không được kích hoạt
- Giá trị tối thiểu = 10 phút
- Giá trị tối đa = 31 ngày
Xuất dữ liệu tin nhắn sang BigQuery
Bật thuộc tính này cho phép bạn tạo đăng ký BigQuery ghi tin nhắn vào bảng BigQuery hiện có khi chúng được nhận. Bạn không cần phải cấu hình máy khách đăng ký riêng. Để biết thêm thông tin về đăng ký BigQuery
Xuất dữ liệu tin nhắn sang Cloud Storage
Bật thuộc tính này cho phép bạn tạo đăng ký Cloud Storage ghi tin nhắn vào bảng Cloud Storage hiện có khi chúng được nhận. Bạn không cần phải cấu hình máy khách đăng ký riêng. Để biết thêm thông tin về đăng ký Cloud Storage
Code example bằng python
from google.cloud import pubsub_v1
# TODO(developer)
# project_id = "your-project-id"
# topic_id = "your-topic-id"
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path(project_id, topic_id)
topic = publisher.create_topic(request={"name": topic_path})
print(f"Created topic: {topic.name}")