从拉取订阅接收消息

本文档介绍了如何接收拉取订阅中的消息。您可以使用 Google Cloud 控制台、Google Cloud CLI、 客户端库或 Pub/Sub API 创建拉取订阅。

准备工作

所需的角色和权限

如需获得从拉取订阅接收消息所需的权限,请让您的管理员为您授予订阅的Pub/Sub Subscriber (roles/pubsub.subscriber) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含 pubsub.subscriptions.consume 权限, 这是从拉取订阅接收消息所必需的权限。

您也可以使用自定义角色或其他预定义角色来获取此权限。

从订阅拉取消息

以下示例演示了如何使用 StreamingPull API 或 Pull API 从订阅拉取消息。

StreamingPull API

如需使用 StreamingPull API,您必须使用客户端库。

控制台 Google Cloud 和 Google Cloud CLI 不支持 StreamingPull API。

StreamingPull 和高级客户端库代码示例

C++

在尝试此示例之前,请按照《快速入门:使用客户端库》中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档

namespace pubsub = ::google::cloud::pubsub;
auto sample = [](pubsub::Subscriber subscriber) {
  return subscriber.Subscribe(
      [&](pubsub::Message const& m, pubsub::AckHandler h) {
        std::cout << "Received message " << m << "\n";
        std::move(h).ack();
        PleaseIgnoreThisSimplifiesTestingTheSamples();
      });
};

C#

在尝试此示例之前,请按照《快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Pub/Sub C# API 参考文档


using Google.Cloud.PubSub.V1;
using System;
using System.Threading;
using System.Threading.Tasks;

public class