引言
在使用Google Cloud Platform (GCP) 的Pubsub服務時,我們常常會遇到將消息存儲到Google Cloud Storage (GCS) 作為Avro文件的問題。本文將深入探討如何優化Google Pubsub到GCS的文件整合策略,以避免每個消息都單獨生成一個Avro文件,達到將多個消息整合到一個文件的目的。
問題描述
假設我們有一個沒有強制性模式的Google Pubsub主題,并且配置了一個Cloud Storage訂閱,其目的是將消息以Avro格式寫入到GCS中。即使我們設置了文件大小和時間限制,仍然發現每個消息都生成了一個單獨的Avro文件,而不是我們期望的合并到一個文件中。
配置示例
以下是一個典型的Cloud Storage訂閱的配置命令:
gcloud pubsub subscriptions create projects/my-project/subscriptions/my-subscription \--topic=projects/my-project/topics/my-topic \--cloud-storage-bucket=my-bucket \--cloud-storage-file-prefix=my-prefix/ \--cloud-storage-file-suffix=_my-suffix.avro \--cloud-storage-max-bytes=2GB \--cloud-storage-m