【问题标题】:Cloud Scheduler showing Uknown Error when adding Service Account添加服务帐户时 Cloud Scheduler 显示未知错误
【发布时间】:2020-08-26 15:34:57
【问题描述】:

我有一个网站,其中包含我想要定期运行的代码(发送电子邮件)。

我的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 运行,但是当我编辑“服务帐户”字段以插入我的 xxxxx@gcp-sa-cloudscheduler.iam.gserviceaccount.com 时,我得到一个黑色弹窗提示:更新作业“myJob”失败:未知错误

我尝试将服务帐户字段留空并显示成功,但它不运行我的代码(不发送电子邮件),也不打印我留在代码中的日志。 此外,我尝试将 Cloud Scheduler Admin、Cloud Scheduler Job Runner 和 Cloud Scheduler Service Agent 角色添加到服务帐户,以防权限问题,但它也不起作用。

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

【问题讨论】:

  • 从服务账号来看,你上面提到的是一个Cloud Scheduler服务账号。由于您将使用此服务帐户运行计划服务并启动“发送电子邮件”服务。这个服务帐号应该grant the necessary role 也可以调用Send Email 方法。您能指出 Send Email 方法的部署位置吗?

标签: google-app-engine google-cloud-platform cron google-cloud-scheduler


【解决方案1】:

您可能在“IAM”选项卡中使用了来自“IAM 和管理员”的帐户,但对某些人来说它可能有效,而对另一些人则没有。很难找到,在我的测试帐户中,我有 20 多个,但只有 5 个在工作。

当您使用"Service Accounts" 选项卡中列出的帐户时,此错误未显示(这只是“IAM&Admin/IAM”中的几个而不是多个)。

我已经快速测试过了。尝试从 IAM 选项卡添加服务帐户中未列出的任何服务帐户时出错。

比我添加的新帐户如:

scheduler@&lt;my-test-project&gt;.iam.gserviceaccount.com.

在没有任何权限的情况下,我可以在 Cloud Scheduler 中使用它而不会出现错误。我建议这样做。

【讨论】:

    猜你喜欢
    • 2020-11-25
    • 2014-07-08
    • 2019-01-29
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    相关资源
    最近更新 更多