根据此文档 [ https://cloud.google.com/tasks/docs/creating-http-target-tasks ],应该能够创建类型为“http_request”且“http_method”设置为“POST”的任务,但是一旦始终使用方法“GET”创建任务,行为就不是预期的。
在使用 Python 客户端库时遇到此问题后,我决定直接尝试 API 并检查是否是库或 API 本身的问题。
使用产品文档页面 [ https://cloud.google.com/tasks/docs/reference/rest/v2beta3/projects.locations.queues.tasks/create ] 中的“试用此 API”,我尝试创建使用 http_request 和 app_engine_http_request 类型的类似任务,并且始终将 http_method 设置为 POST。
如果我这样设置请求正文:
{
"task": {
"appEngineHttpRequest": {
"httpMethod": "POST",
"relativeUri": "/test",
"body": "c2hhbGxvdyBub3c="
}
}
}
...任务已创建,方法是 POST,如预期的那样。但是,如果我将请求正文设置为:
{
"task": {
"httpRequest": {
"httpMethod": "POST",
"url": "https://httpstat.us/404",
"body": "c2hhbGxvdyBub3c="
}
}
}
...任务已创建,但使用方法 GET 而不是 POST。
这是我在队列中得到的:
我相信这是一个错误,这就是为什么我在这里使用支持页面上推荐的标签 google-apis-explorer 报告它的原因。
无论如何,如果有人能告诉我我是否做错了什么,或者在此期间是否有任何解决方法,我将不胜感激。
谢谢!