簡體   English   中英

我可以在不同的Google Cloud項目中使用Google Cloud Pub / Sub嗎?

[英]Can I use Google Cloud Pub/Sub across different Google Cloud projects?

假設我在Google Cloud中擁有項目A,B和C,每個項目中都有多個雲功能。

我想在項目C中設置發布/訂閱,以便A和B中的功能可以訂閱。

這可能嗎? 我是否需要設置某種具有自定義權限的服務帳戶?

謝謝

在IAM頁面上的訂閱項目中,添加具有發布/訂閱發布者角色的新成員,新成員名稱是發布項目的serviceaccount-email。 然后在發布項目中創建一個雲功能,並在頁面底部(在更多下方)為該功能分配相同的服務帳戶。

這是雲功能的節點示例:

const PubSub = require('@google-cloud/pubsub');
const pubsub = new PubSub();
const topic = pubsub.topic('projects/subscribing-project-name/topics/topic-to- 
publish-to');
const publisher = topic.publisher();

exports.helloWorld = (req, res) => {
const customAttributes = {
message: 'Hello'
};
publisher.publish(Buffer.from("Hello from another project"), customAttributes, 
(err) => {
if (err) {
  res.status(500).send(JSON.stringify({ success: false, error: err.message }));
  return;
}
res.status(200).send(JSON.stringify({ success: true, message: "Message sent to 
pubsub topic" }));
});
};

如評論中所述,如果您設置了push subscription,則可以從另一個Cloud Functions 訂閱該主題。

要從另一個項目發布發布 / 訂閱主題,您應該為其在目標項目中的服務帳戶授予正確的權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM