Google cloud platform 是否可以部署后台功能;myBgFunctionInProjectB“;在;项目b“;并由我的话题引发;my-topic-project-a“;从「;项目a“;
可以在项目“project-a”中创建主题“my-topic-project-a”,以便它可以公开显示(这是通过将角色“发布/订阅订户”设置为“allUsers”来实现的)。 然后从项目“project-b”中,我可以创建对“my-topic-project-a”的订阅,并从“my-topic-project-a”中读取事件。这是使用以下gcloud命令完成的: (这些命令在项目“project-b”上执行) 因此,在“project-a”中链接到“my-topic-project-a”的“project-b”中创建订阅时,这是可能的 在我的用例中,我希望能够在“project-b”中部署后台函数“myBgFunctionInProjectB”,并由“project-a”中的主题“my-topic-project-a”触发。 但是。。。这似乎是不可能的,因为当您在部署云功能时提供完整的主题名称时,gcloud CLI不高兴:Google cloud platform 是否可以部署后台功能;myBgFunctionInProjectB“;在;项目b“;并由我的话题引发;my-topic-project-a“;从「;项目a“;,google-cloud-platform,google-cloud-functions,google-cloud-pubsub,Google Cloud Platform,Google Cloud Functions,Google Cloud Pubsub,可以在项目“project-a”中创建主题“my-topic-project-a”,以便它可以公开显示(这是通过将角色“发布/订阅订户”设置为“allUsers”来实现的)。 然后从项目“project-b”中,我可以创建对“my-topic-project-a”的订阅,并从“my-topic-project-a”中读取事件。这是使用以下gcloud命令完成的: (这些命令在项目“project-b”上执行) 因此,在“project-a”中链接到“my-topic-project-a”的“pr
gcloud beta functions deploy myBgFunctionInProjectB --runtime nodejs8 --trigger-topic projects/project-a/topics/my-topic-project-a --trigger-event google.pubsub.topic.publish
ERROR: (gcloud.beta.functions.deploy) argument --trigger-topic: Invalid value 'projects/project-a/topics/my-topic-project-a': Topic must contain only Latin letters (lower- or upper-case), digits and the characters - + . _ ~ %. It must start with a letter and be from 3 to 255 characters long.
有没有办法做到这一点,或者这实际上是不可能的
谢谢所以,似乎实际上不可能做到这一点。我通过两种不同的方式检查发现:
- 如果试图通过创建函数,则需要填写要运行此函数的位置,例如,
,然后提供一个请求正文,如下所示:projects/PROJECT\u for\u function/locations/PREFERRED-location
- 对于同一个问题,公共问题跟踪程序中已经有一个。请记住,它没有ETA
我也试着从
gcloud
中执行此操作,正如您尝试的那样。我显然得到了相同的结果。然后我尝试从命令中删除projects/project-a/topics/
位,但这会在创建函数的同一项目中创建一个新主题,因此,这不是您想要的。好的,谢谢。我想确保我没有遗漏任何内容在转移到另一个解决方案之前
gcloud beta functions deploy myBgFunctionInProjectB --runtime nodejs8 --trigger-topic projects/project-a/topics/my-topic-project-a --trigger-event google.pubsub.topic.publish
ERROR: (gcloud.beta.functions.deploy) argument --trigger-topic: Invalid value 'projects/project-a/topics/my-topic-project-a': Topic must contain only Latin letters (lower- or upper-case), digits and the characters - + . _ ~ %. It must start with a letter and be from 3 to 255 characters long.