python - Google TaskQueue(拉)通过 API 插入任务

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

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

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)

raise HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: https://www.googleapis.com/taskqueue/v1beta2/projects/project_test/taskqueues/pullqq/tasks?alt=json returned "Backend Error">

身份验证是正确的,因为我可以租用/删除任务。负载中可能缺少某些字段?

最佳答案

好吧..我用租用任务中的确切有效负载更改了有效负载..除了某些字段(例如ID或租赁时间)并将“~s”添加到“queueName”中的项目名称中。

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

现在它起作用了。

关于python - Google TaskQueue(拉)通过 API 插入任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39080283/

相关文章:

python - 如何安装 python-scapy centos?

python - 如何使用自引用递归字段在 DRF 串行器中进行过滤

python - 一些 Python 对象未绑定(bind)到检查点值

ubuntu - GCP 计算 scp 错误 : You do not currently have an active account selected

python - 如何在 Python-RQ 中创建多个 worker?

python - python的 `in`函数在通过 `__getitem__()`'触发时是如何工作的?

docker - 如何将 google 实例设置保存为 docker 镜像?

kubernetes - GCP GKE负载平衡器连接被拒绝

c++ - 查找线程之间的最小队列大小