添加服务帐户时,Cloud Scheduler显示未知错误

问题描述

我有一个网站,上面有我想使其定期运行的代码(发送电子邮件)。

我的web.xml如下:

<servlet-mapping>
    <servlet-name>sendEmailsController</servlet-name>
    <url-pattern>/cron/sendEmails</url-pattern>
</servlet-mapping>
<servlet>
    <servlet-name>sendEmailsController</servlet-name>
    <servlet-class>sendEmailsController</servlet-class>
</servlet>

我试图安排代码通过Google Cloud Scheduler运行,但是当我在编辑“服务帐户”字段以插入我的[email protected]时,却出现了黑色弹出窗口:更新作业“ myJob”失败:未知错误

我尝试保存该作业,但“服务帐户”字段保留为空白,并且显示“成功”,但是它没有运行我的代码(不发送电子邮件),也没有打印我在代码中留下的日志。 另外,我尝试将Cloud Scheduler Admin,Cloud Scheduler Job Runner和Cloud Scheduler Service Agent角色添加到服务帐户,以防权限出现问题,但也无法正常工作。

对于频率,我正在使用* * * * *(每分钟),目标是HTTP,HTTP方法是GET,URL是https:// myDomain / cron / sendEmails

解决方法

您可能使用了“ IAM”标签中“ IAM&Admin”中的帐户,但是对于某些帐户而言,它可能正在工作,而对于其他帐户,则无法使用。很难找到,在我的测试帐户中,我有20多个工作,只有5个在工作。

当您使用“ "Service Accounts"”标签(不是“ IAM&Admin / IAM”中的很多帐户)中列出的帐户时,不会显示此错误。

我已经对其进行了快速测试。尝试从“ IAM”选项卡添加未在“服务帐户”中列出的任何服务帐户时出错。

比我添加了新帐户,例如:

scheduler@<my-test-project>.iam.gserviceaccount.com

没有任何权限,我能够在Cloud Scheduler中使用它而不会出现错误。我建议以同样的方式做。