Облачные задачи Google всегда устанавливают для HttpMethod значение GET при использовании HttpRequest в качестве payload_type. - PullRequest
0 голосов
/ 22 мая 2019

Согласно этой документации [https://cloud.google.com/tasks/docs/creating-http-target-tasks], нужно иметь возможность создавать задачи с типом 'http_request' и 'http_method', установленным на 'POST', но поведение не ожидается, если задача всегдасозданный методом 'GET'.

После возникновения этой проблемы при использовании клиентской библиотеки Python, я решил попробовать API напрямую и проверить, была ли это проблема с библиотекой или самим API.

Используя «Try this API» со страницы документации продукта [https://cloud.google.com/tasks/docs/reference/rest/v2beta3/projects.locations.queues.tasks/create], я пытался создавать похожие задачи, используя типы 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.

Вот что я получаю в своей очереди:

![Tasks in the queue.](https://drive.google.com/file/d/1cxWc43BiWDPOYekAmFMAcMZygG5dYmx6/view?usp=sharing)

Я считаю, что это ошибка, и поэтому я сообщаю об этом здесь с тегом google-apis-explorer, как рекомендовано на странице поддержки.

В любом случае, если бы кто-нибудь мог сказать мне, если я делаю что-то не так или есть ли какое-то решение в это время, я был бы очень признателен.

Спасибо!

1 Ответ

2 голосов
/ 04 июня 2019

Спасибо за этот пост, это ошибка в существующем пользовательском интерфейсе Cloud Tasks, и мы находимся в процессе исправления этой ошибки.

Тем временем правильный HTTP-метод задачи может быть определенвыполните следующую команду:

бета-задачи gcloud описывают

https://cloud.google.com/sdk/gcloud/reference/beta/tasks/describe

Приведенная выше команда покажет правильный HTTP-метод для задачи.

...