Google cloud platform HTTP目标的GCP云计划程序错误,状态为内部
我有一个调度程序作业,每8小时调用一次我的函数。该函数工作正常,并且每次当角色/cloudfunctions.invoker的成员为“allUsers”时都返回HTTP 200状态。但是,当我通过serviceAccount:${google_service_account.serviceAccount.email}将我的服务帐户用作成员时,会出现以下错误:Google cloud platform HTTP目标的GCP云计划程序错误,状态为内部,google-cloud-platform,terraform,terraform-provider-gcp,google-cloud-scheduler,Google Cloud Platform,Terraform,Terraform Provider Gcp,Google Cloud Scheduler,我有一个调度程序作业,每8小时调用一次我的函数。该函数工作正常,并且每次当角色/cloudfunctions.invoker的成员为“allUsers”时都返回HTTP 200状态。但是,当我通过serviceAccount:${google_service_account.serviceAccount.email}将我的服务帐户用作成员时,会出现以下错误: { insertId: "---" jsonPayload: { status: &qu
{
insertId: "---"
jsonPayload: {
status: "INTERNAL"
@type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"
targetType: "HTTP"
jobName: "projects/projectname/locations/asia-northeast1/jobs/Function_Name"
url: "https://asia-northeast1-projectname.cloudfunctions.net/Function_Name"
}
httpRequest: {
status: 500
}
resource: {
type: "cloud_scheduler_job"
labels: {
project_id: "projectname"
job_id: "Function_Name"
location: "asia-northeast1"
}
}
timestamp: "2021-05-24T08:14:39.131999796Z"
severity: "ERROR"
logName: "projects/projectname/logs/cloudscheduler.googleapis.com%2Fexecutions"
receiveTimestamp: "2021-05-24T08:14:39.131999796Z"
}
调度程序结果为“失败”,而不是“成功”
如何修复此错误?我用于谷歌云平台的terraform版本是2.20.3。代码如下所示:
resource“谷歌云调度程序作业”测试{
name=“功能\u名称\u计划\u作业”
description=“每8小时触发${google\u cloudfunctions\u function.function\u Name.Name}函数。”
时区=“亚洲/新加坡”
附表=“59 7,15,23***”
region=“${var.region}”
重试配置{
重试\u计数=5
最大重试时间=“520秒”
}
http_目标{
uri=“${google\u cloudfunctions\u function.function\u Name.https\u trigger\u url}”
oidc_令牌{
service_account_email=“${google_service_account.ServiceAccount.email}”
}
}
依赖于=[“google\u cloudfunctions\u function.function\u Name”]
}
您需要在oidc\U令牌
定义中添加访问群体。等于您的云函数URL(无任何附加路径或参数)
oidc_token {
service_account_email = "${google_service_account.ServiceAccount.email}"
audience = "${google_cloudfunctions_function.Function_Name.https_trigger_url}"
}