【发布时间】:2019-08-03 07:37:20
【问题描述】:
我正在尝试通过 terraform 测试设置 GCP Cloud Scheduler 作业,并在尝试通过 API 创建时发现问题。我还在此页面上测试 API:projects.locations.jobs/create。我看到的错误与无效参数有关:
{
"error": {
"code": 400,
"message": "Job name must be formatted: \"projects/\u003cPROJECT_ID\u003e/locations/\u003cLOCATION_ID\u003e/jobs/\u003cJOB_ID\u003e\".",
"status": "INVALID_ARGUMENT"
}
}
然后我修改以适应该格式并看到此错误:
{
"error": {
"code": 400,
"message": "Resource name should start with \"/projects/\u003cPROJECT_ID\u003e/\"",
"status": "INVALID_ARGUMENT"
}
}
请求正文如下所示:
{
"name": "projects/<my-project-id>/locations/us-central1/jobs/snapshots",
"pubsubTarget": {
"topicName": "disk-snapshot-function-trigger",
"attributes": {
"num_backups": "5",
"project": "<my-project-id>"
}
},
"schedule": "0 19 * * *",
"timeZone": "America/Los_Angeles"
}
真的没有胜算,所有请求都会得到 ERROR 400。
【问题讨论】:
-
terraform 是如何解决这个问题的?删除该标签。您的
topicName格式不正确projects/PROJECT_ID/topics/TOPIC_ID -
@JohnHanley 感谢您的建议。通过将
project/PROEJCT_ID/topics/TOPIC_ID前缀添加到 pubsub 主题名称中,我能够让它在 Terraform 中工作 -
您的回答使 terraform 标签变得有价值。谢谢。
标签: google-cloud-platform terraform google-apis-explorer google-cloud-scheduler