0

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

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

我想将示例 2 和 3 合并为单个,因此使用批处理模式发布适用于重试请求。我怎样才能做到这一点?

4

1 回答 1

1

该对象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
    }
)
于 2019-11-11T14:56:03.317 回答