Невозможно установить полезную нагрузку / тело в облачных задачах Google
Я пытаюсь использовать облачные задачи Google, создавая задачу с помощью веб-функции "Попробуйте этот API" или Ruby Google Cloud SDK.
Я не могу получить полезную нагрузку для доставки работнику.
Отправка метода Http как POST на самом деле работает, но отображается как GET в пользовательском интерфейсе облачных задач.
Полезная нагрузка или заголовки не отправляются работнику или отображаются в пользовательском интерфейсе облачной задачи. Я пробовал Base64, JSON, нормальные строки. (см. изображения ниже)
Пример:
Запрос:
{
"task": {
"httpRequest": {
"httpMethod": "POST",
"body": "SGVsbG8=",
"url": "https://some-random-url"
}
}
}
Отклик:
{
"name": "projects/<my-project>/locations/europe-west1/queues/default/tasks/73572672049866200001",
"scheduleTime": "2019-07-03T14:49:34.450453Z",
"createTime": "2019-07-03T14:49:34Z",
"view": "BASIC",
"httpRequest": {
"url": "https://some-random-url/",
"httpMethod": "POST",
"headers": {
"User-Agent": "Google-Cloud-Tasks"
}
},
"dispatchDeadline": "600s"
}
Пример кода Ruby:
task = {
http_request: {
url: <project/location/queue/url>,
http_method: 'POST',
body: "Something"
}
}
response = @client.create_task(@parent, task)
Снимки экрана из Google Cloud UI:
Есть ли какой-то специальный формат для установки полезной нагрузки, которая будет доставляться через POST?
Спасибо!
1 ответ
Спасибо за этот пост, это ошибка в существующем пользовательском интерфейсе Cloud Tasks, и мы находимся в процессе исправления этой ошибки.
Между тем правильный HTTP-метод задачи можно определить, выполнив следующую команду:
Описание задач бета-версии gcloud
https://cloud.google.com/sdk/gcloud/reference/beta/tasks/describe
Приведенная выше команда покажет правильный метод HTTP для задачи.
Вы также можете использовать метод get task для получения дополнительной информации.