引言
在使用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