API TaskQueue(pull)插入任务

时间:2016-08-22 13:01:30

标签: python google-cloud-platform task-queue pull-queue

我正在使用apiclient.discovery.build从Google Pull Queue租用任务..它工作正常..但是当我尝试在此队列中插入任务时,我总是得到相同的错误:

from apiclient.discovery import build
build = build('taskqueue', 'v1beta2', credentials=GoogleCredentials.get_application_default())

# Works
resp = build.tasks().lease(project=project,taskqueue=name,leaseSecs=lease_time,numTasks=num_tasks).execute()

# Error
payload = {'payloadBase64': 'c29tZSB0ZXN0'}
result = build.tasks().insert(project=project,taskqueue=name,body=payload)
  

引发HttpError(resp,content,uri = self.uri)   googleapiclient.errors.HttpError:https://www.googleapis.com/taskqueue/v1beta2/projects/project_test/taskqueues/pullqq/tasks ?alt = json   返回"后端错误">

验证是正确的,因为我可以租用/删除任务..它可能是有效负载中的某个缺少的字段?

1 个答案:

答案 0 :(得分:1)

嗯..我使用来自租用任务的确切有效负载更改了有效负载..除了某些字段(例如,ID或租用时间),并在'queueName'中将'~s'添加到项目名称。

resp = {u'kind': u'taskqueues#task', u'queueName': u'projects/s~project_name/taskqueues/pullqq', u'payloadBase64': u'c29tZSB0ZXN0'}

现在它奏效了。