Как указать тему pubsub при развертывании облачной функции 2-го поколения, запускаемой дугой события, с помощью команды gcloud

Я хочу развернуть облачную функцию, которая запускается триггером pubsub eventarc с помощью командной строки gcloud, но я не нашел способа указать тему pubsub с помощью команды gcloud.

Я попытался выполнить команду gcloud следующим образом:

gcloud functions deploy <function_name> \
--gen2 \
--source=. \
--trigger-event-filters=type=google.cloud.pubsub.topic.v1.messagePublished \
--trigger-location=asia-southeast2 \
--trigger-service-account=<service_account> \
--runtime=python310 \
--entry-point=hello_pubsub \
--project=<project_id> \
--region=asia-southeast2

Но я получил эту ошибку:

gcloud.functions.deploy) INVALID_ARGUMENT: должна быть задана тема PubSub для событий с типом google.cloud.pubsub.topic.v1.messagePublished.

Я проверил документацию GCP документацию по облачным функциям eventarc, но они не упоминают, как указать тему pubsub.

Моя цель — вызвать эту команду gcloud из конвейера сборки облака для автоматического развертывания облачной функции.

Спасибо

Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
0
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать --trigger-topic, чтобы указать тему.

gcloud functions deploy <function_name> \
--gen2 \
--source=. \
--trigger-topic=topic_name
....

--trigger-event-filters можно использовать для фильтрации событий на основе любых других атрибутов. Ознакомьтесь со связанной документацией для получения дополнительной информации.

Не похоже. Я получил эту ошибку, когда указал флаги темы триггера: «Не более одного из --trigger-bucket | --trigger-http | --trigger-topic | --trigger-event --trigger-resource | --trigger- event-filters --trigger-event-filters-path-pattern --trigger-channel можно указать."

ramaadhitia 15.01.2023 06:10

@ramaadhitia правильно, как следует из ошибки, вам не нужно trigger-event-filters вместе с названием темы. Я пропустил это при удалении других флагов. То же самое упоминается в связанных документах.

Dharmaraj 15.01.2023 06:24

Спасибо, это работает. флаг --trigger-event-filters действительно должен быть удален

ramaadhitia 15.01.2023 06:38

Другие вопросы по теме