提问者:小点点

当数据流API和服务帐户启用并呈现时,如何修复“…刷新凭据的问题”错误


每次我尝试在数据流中运行作业时,都会收到以下错误:

"工作流失败。原因:刷新凭据时出现问题。请检查:1.为您的项目启用了数据流API。2.为您的项目启用了机器人服务号:service-[项目号]@dataflow-service-producer-prod.iam.gserviceaccount.com应该有权访问您的项目。如果此帐户未出现在您的项目的权限选项卡中,请联系Dataflow支持。,您的项目没有云服务机器人帐户。请确保为您的项目启用了数据流API。"

我已禁用并重新启用数据流API。我还尝试禁用并重新启用所有其他相关API。

我检查了IAM页面,服务号就在那里,并且扮演了“云数据流服务代理”的角色,我甚至尝试授予项目“所有者”的服务号权限,看看这是否有帮助,但没有。

还有其他想法吗?提前感谢您的帮助!


共1个答案

匿名用户

这让我抓狂了很长一段时间。终于弄清楚我需要将服务号和相关凭据添加到我的管道选项中。有点像这样:

final static List<String> SCOPES = Arrays.asList(
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/devstorage.full_control",
            "https://www.googleapis.com/auth/userinfo.email",
            "https://www.googleapis.com/auth/datastore",
            "https://www.googleapis.com/auth/pubsub");
GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream("/path/to/service/account/keyfile.json"));
options.setServiceAccount("example@project-name.iam.gserviceaccount.com");
options.setGcpCredential(credentials.createScoped(SCOPES));

希望这能帮助其他有同样问题的人