创建对主题的发布订阅失败,并出现以下错误:用户无权执行此操作

时间:2019-05-31 10:35:42

标签: java google-cloud-dataflow google-cloud-pubsub

当我尝试使用服务帐户部署数据流作业时,它失败并显示以下错误:

  

工作流程失败。原因:步骤   “ setup_resource_XXXXXX.subscription-1210256155950706706891639”失败。   步骤setup_resource_XXXXXX.subscription-1210256155950706891639639:设置   资源XXXXXX.subscription-12102561559507068916失败,正在创建   订阅订阅   项目/ XXXXXX /订阅/XXXXXX.subscription-12102561559507068916   到主题项目/ XXXXXX /主题/ XXXXXX失败,并显示错误:用户未   授权执行此操作。

我已为该主题的服务帐户授予“公共/子订户”权限。

2 个答案:

答案 0 :(得分:2)

Dataflow似乎正在尝试在此处创建订阅:

  

创建pubsub订阅 projects / XXXXXX / subscriptions / XXXXXX.subscription-12102561559507068916

但是,角色roles/pubsub.subscriber不足以创建订阅,因为它没有pubsub.subscriptions.create权限。

您可能需要为服务帐户授予角色roles/pubsub.editorpubsub.subscriptions.create权限已分配给该角色)。

答案 1 :(得分:1)

当我使用 PubSub 到数据流作业的云存储(文本)模板时,我遇到了类似的问题,我不得不给发布/订阅订阅者发布/订阅查看器 pubsub 主题上数据流的控制器服务帐户的角色和存储桶上的 Storage Object Admin 角色到数据流的相同控制器服务帐户。 它为我解决了这个问题。