#google-cloud-functions #cdi #quarkus
# #google-cloud-функции #cdi #quarkus
Вопрос:
Я следовал руководству QUARKUS — GOOGLE CLOUD FUNCTIONS, но внедрение зависимостей, похоже, не работает в этом контексте, поскольку любой @Inject
объект ‘ed находится null
во время выполнения:
- оба при локальном тестировании,
- и работает на GCP тоже.
Загрузка и запуск обучающего решения дает тот же результат для меня.
Я что-то упустил?
Ответ №1:
Обычно эта ошибка возникает из-за использования неправильной точки входа внутри gcloud
команды.
Вы должны использовать предоставленную Quarkus функцию, а не свою функцию, в качестве класса точки входа из вашей gcloud
команды.
Это описано в этой части руководства https://quarkus.io/guides/gcp-functions#build-and-deploy-to-google-cloud , может быть, нам нужно сделать это более ясным.
Для фоновой функции используйте gcloud functions deploy my-function --entry-point --entry-point=io.quarkus.gcp.functions.QuarkusBackgroundFunction ...
Для HTTP-функции используйте gcloud functions deploy my-function --entry-point --entry-point=io.quarkus.gcp.functions.QuarkusHttpFunction ...
Функция Quarkus загрузит фреймворк (включая CDI), выполнит поиск вашей функции и внедрит в нее зависимости.