Использование задач Google Cloud с использованием cURL или без SDK / gcloud

Можно ли взаимодействовать со службами Google, такими как Cloud Tasks, используя только cURL?

Есть несколько примеров для разных языков, доступных в 'создать задачу" в их доках API, но я не вижу ничего, для чего не требуется SDK (например, с помощью cURL).

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


person Citricguy    schedule 20.01.2020    source источник
comment
Недавно у меня был такой же вопрос, и я смог ответить на него здесь: stackoverflow.com/questions/67644213/   -  person danbars    schedule 08.06.2021


Ответы (2)


Вы можете использовать Cloud Tasks API для управления выполнением большого количества распределенных запросов Cloud Tasks API.

Например, чтобы создать новую очередь с именем mynewqueue с помощью Метод: projects.locations.queues.create, вы можете использовать:

   curl --request POST \
   'https://cloudtasks.googleapis.com/v2beta3/projects/my- 
    project/locations/europe-west2/queues?key=[YOUR_API_KEY]' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"name":"projects/my-project/locations/europe-west2/queues/mynewqueue"}' \
 --compressed

где YOUR_ACCESS_TOKEN - результат:

   gcloud auth print-access-token

и YOUR_API_KEY не является обязательным.

Чтобы проверить, была ли команда успешной:

   gcloud tasks queues list
   #output mynewqueue   RUNNING  1000              500.0            100
person marian.vladoi    schedule 20.01.2020
comment
Генерируется ли токен с gcloud auth print-access-token постоянным или его нужно будет регулярно генерировать заново? - person Citricguy; 28.01.2020
comment
Максимальное время жизни токена составляет 1 час (3600 секунд). ссылка - person marian.vladoi; 28.01.2020

Вы можете напрямую вызвать Cloud Tasks API без использования клиентских библиотек.

Однако, если вы ищете простой локальный способ создавать очереди и задачи , Я рекомендую использовать Cloud SDK (gcloud инструмент CLI). Это дает вам возможность легко управлять своими ресурсами без необходимости развертывать собственный скрипт и аутентификацию. Чтобы создать задачу с таргетингом на HTTP:

gcloud tasks create-http-task <TASK_ID_IF_NEEDED> --queue=QUEUE --url=URL

Есть дополнительные флаги, позволяющие легко добавить заголовок, запланированное время, тело запроса и т. Д.

person Averi Kitsch    schedule 21.01.2020