当我尝试将任务添加到队列时,会抛出上述错误消息。这是我的设置和有关此问题的信息:
my-project my-service-accountmy-queueasia-northeast1(Cloud Task 目前处于测试阶段的少数位置之一)另外,让我们确认以上所有内容都存在并且正在运行。
当我通过发布到来检查我的服务帐户角色时https://cloudresourcemanager.googleapis.com/v1/projects/my-project:getIamPolicy
我收到类似于以下内容的回复:
{
"status": 200,
"data":
{
"version": 1,
"etag": "BwV6nNWJg4E=",
"bindings": [
{
"role": "roles/cloudtasks.admin",
"members": [
"serviceAccount:my-service-account@my-project.iam.gserviceaccount.com"
]
},
{
"role": "roles/cloudtasks.enqueuer",
"members": [
"serviceAccount:my-service-account@my-project.iam.gserviceaccount.com"
]
}]
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,my-service-account有以下2个角色:
这两个角色都具有cloudtasks.tasks.create内置的权限。
当我尝试使用以下命令将任务添加到云任务时:
POST https://cloudtasks.googleapis.com/v2beta3/projects/my-project/locations/asia-northeast1/queues/my-queue/tasks+ 任务负载
我收到以下错误消息:
{
"status": 403,
"data":
{
"error":
{
"code": 403,
"message": "The principal (user or service account) lacks IAM permission \"cloudtasks.tasks.create\" …Run Code Online (Sandbox Code Playgroud) 我在这里读到了关于core.async这篇伟大的文章:
http://www.core-async.info/reference/primitives
我很难理解put的内部机制!去.我明白那个:
我不明白:
非常感谢你揭开那些神秘面纱.
我正在尝试使用 Google Cloud Web API 在 App Engine 中创建应用程序,如官方文档 ( https://cloud.google.com/appengine/docs/admin-api/creating-an-application ) 中所述。我用:
node-fetch当我使用如下方式执行 HTTP POST 时:
fetch('https://appengine.googleapis.com/v1/apps', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`
},
body: JSON.stringify({
id: projectId,
locationId:'australia-southeast1'
})
})
Run Code Online (Sandbox Code Playgroud)
然后我收到此错误消息:
{
"code": 409,
"message": "This application already exists and cannot be re-created.",
"status": "ALREADY_EXISTS"
}
Run Code Online (Sandbox Code Playgroud)
这真的很奇怪,因为我的项目 ID 还没有定义 App Engine。
有谁知道这里发生了什么事?