创建订阅后,您可以将传送方法更改为推送、拉取或导出。
准备工作
- 创建一项受支持的订阅。
所需的角色和权限
如需获取更改订阅类型并管理它们所需的权限,请让管理员授予您主题或项目的 Pub/Sub Editor (roles/pubsub.editor
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含更改订阅类型及管理订阅类型所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
需要以下权限才能更改订阅类型并对其进行管理:
-
从订阅中拉取:
pubsub.subscriptions.consume
-
创建订阅:
pubsub.subscriptions.create
-
删除订阅:
pubsub.subscriptions.delete
-
获取订阅:
pubsub.subscriptions.get
-
列出订阅:
pubsub.subscriptions.list
-
更新订阅:
pubsub.subscriptions.update
-
为主题附加订阅:
pubsub.topics.attachSubscription
-
获取订阅的 IAM 政策:
pubsub.subscriptions.getIamPolicy
-
为订阅配置 IAM 政策:
pubsub.subscriptions.setIamPolicy
您可以在项目级和单个资源级配置访问权限控制。您可以在一个项目中创建订阅,并将其附加到位于其他项目中的主题。确保您拥有每个项目所需的权限。
修改传送方式
您可以在不同的订阅类型之间切换。
控制台
如需修改订阅,请完成以下步骤。
- 在 Google Cloud 控制台中,前往订阅页面。
- 点击要更新的订阅旁边的 more_vert。
- 在递送类型中,选择递送选项。
- 根据需要填写其他订阅属性。
- 点击更新。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
-
如需修改推送端点网址,请运行
gcloud pubsub subscriptions modify-push-config
命令:gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
如果订阅已在使用拉取传送,则设置推送端点会将传送方法切换为推送传送。
您可以通过将推送端点更改为空字符串,从推送传送切换为拉取传送。
REST
如需修改订阅的推送配置,请使用 projects.subscriptions.modifyPushConfig
方法:
请求:
必须使用 Authorization
标头中的访问令牌对请求进行身份验证。如需获取当前应用默认凭据的访问令牌,请运行以下命令:gcloud auth application-default print-access-token
。
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:modifyPushConfig Authorization: Bearer ACCESS_TOKEN
请求正文:
{ "pushConfig": { "pushEndpoint": "PUSH_ENDPOINT" } }
其中:
https://myproject.appspot.com/myhandler
。响应:
如果请求成功,响应将为空的 JSON 对象。
C++
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 C++ 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C++ API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
C#
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 C# 设置说明进行操作。如需了解详情,请参阅 Pub/Sub C# API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Go 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Go API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Java API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
Python
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Python 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Python API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照 Pub/Sub 快速入门:使用客户端库中的 Ruby 设置说明进行操作。如需了解详情,请参阅 Pub/Sub Ruby API 参考文档。
要向 Pub/Sub 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。