Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 在不同的项目中设置发布/订阅?_Google Cloud Platform_Google Cloud Pubsub - Fatal编程技术网

Google cloud platform 在不同的项目中设置发布/订阅?

Google cloud platform 在不同的项目中设置发布/订阅?,google-cloud-platform,google-cloud-pubsub,Google Cloud Platform,Google Cloud Pubsub,在我的GCP项目(项目A)中,我创建了一个发布/子主题(topicA),在该发布/子主题中发布的消息需要通过订阅(subscriptionB)在其他GCP项目(项目B)中使用 设置订阅b的建议方法是什么 在项目A中定义订阅B,并使用适当的IAM权限从项目B添加服务帐户 在项目B中定义subscriptionB。在云控制台中,可以通过授予pubsub.topic.attachSubscription来附加来自不同主题的订阅(如下所示) 方法2可能吗?如果是,那么什么时候使用方法2,方法2需要做什么

在我的GCP项目(项目A)中,我创建了一个发布/子主题(topicA),在该发布/子主题中发布的消息需要通过订阅(subscriptionB)在其他GCP项目(项目B)中使用

设置订阅b的建议方法是什么

  • 在项目A中定义订阅B,并使用适当的IAM权限从项目B添加服务帐户
  • 在项目B中定义subscriptionB。在云控制台中,可以通过授予pubsub.topic.attachSubscription来附加来自不同主题的订阅(如下所示)
  • 方法2可能吗?如果是,那么什么时候使用方法2,方法2需要做什么


    两种方法都是可能的,还有第三种方法

  • 在项目B的服务帐户、项目A的订阅(或项目)上使用角色
    roles/pubsub.subscriber
  • 您需要在项目A上想要的主题(或项目)上拥有角色
    roles/pubsub.subscriber
    。根据消息中的定义,您至少需要在主题(或项目)上拥有权限
    pubsub.topics.AttacheSubscription
    。为此,如果只想授予此权限,则可以创建
  • 第三个解决方案基于解决方案1,在项目a中创建订阅,但不创建推送订阅,并将消息推送到HTTP端点。这次项目B中不需要身份验证。但是,如果您想保护您的HTTP端点(例如部署在云运行或云函数上),则需要在projectB中

  • 这两种方法都是可能的,还有第三种方法

  • 在项目B的服务帐户、项目A的订阅(或项目)上使用角色
    roles/pubsub.subscriber
  • 您需要在项目A上想要的主题(或项目)上拥有角色
    roles/pubsub.subscriber
    。根据消息中的定义,您至少需要在主题(或项目)上拥有权限
    pubsub.topics.AttacheSubscription
    。为此,如果只想授予此权限,则可以创建
  • 第三个解决方案基于解决方案1,在项目a中创建订阅,但不创建推送订阅,并将消息推送到HTTP端点。这次项目B中不需要身份验证。但是,如果您想保护您的HTTP端点(例如部署在云运行或云函数上),则需要在projectB中