如何使用重试请求将批处理消息发布到 pubsub 主题

How to publish batched messages to a pubsub topic with retrying request

我已经阅读了所有文档:https://cloud.google.com/pubsub/docs/publisher 有 3 个示例:

  1. 发布到主题
  2. 以批处理模式发布
  3. 正在重试请求发布

我想将示例 2 和示例 3 合并为一个,以便使用批处理模式发布与重试请求一起使用。我该怎么做?

对象 pubsub_v1.PublisherClient 接受两个参数作为构造的输入。

通过包含两个可选参数 batch_settingsclient_config,您可以配置重试请求的批处理模式。

from google.cloud import pubsub_v1

publisher_client = pubsub_v1.PublisherClient(
    # Optional Batch param
    batch_settings = pubsub_v1.types.BatchSettings(
        max_bytes=1024,  # One kilobyte
        max_latency=1,   # One second
    ),

    # Optional Retrying param
    client_config = {
        "interfaces": {
            "google.pubsub.v1.Publisher": {
                "retry_params": {
                    "messaging": {
                        'total_timeout_millis': 650000,  # default: 600000
                    }
                }
            }
        }
    },

    # Optional
    client_options = {
        "api_endpoint": REGIONAL_ENDPOINT
    }
)