У меня есть функция Google Cloud, написанная на nodejs, которую я хочу запустить с помощью @google-cloud/functions-framework. Моя структура
main_folder/
test_function/
index.js
node_modules/
package.json
Как и в структуре, моя точка входа находится внутри test_function/index.js. Есть ли способ вызвать эту функцию, используя структуру функций? или структура функций не работает со структурой папок (index.js должен находиться в корневой папке)?
Любая помощь будет оценена по достоинству. заранее спасибо
Вы можете запустить функцию внутри папки, указав путь в качестве основного в package.json. Я объяснил это как ответ
Извиняюсь за недопонимание. Здесь я упустил подвох. Как вы сказали, мы можем запустить функцию внутри папки после установки пути в качестве основного package.json
Что указано в Документации
Я обновил свой ответ, поделившись ссылкой на документ и выделив этот момент, чтобы не запутаться. Таким образом, у других членов сообщества может быть четкое понимание.
моя точка входа находится внутри test_function/index.js. Есть ли способ вызвать эту функцию с помощью инфраструктуры функций или платформа функций не работает со структурой папок (index.js должен находиться в корневой папке)
Функциональная структура требует, чтобы файл index.js
был помещен в корневой каталог, чтобы распознать его как корневой файл. Таким образом, структуру функций нельзя использовать для вызова функции, расположенной внутри какой-либо пользовательской папки.
Но как указано в Документации
По умолчанию Cloud Functions пытается загрузить исходный код из файла index.js в корне каталога вашей функции. Чтобы указать другой основной исходный файл, используйте поле main в файле package.json.
Вы можете просмотреть эту Документацию и Ссылку на Github для справки.
Предположим, что ваш файл test_function/index.js имеет функцию точки входа следующим образом:
export async function handler(req, res) {
return res.status(200).send("Success")
}
Чтобы запустить функцию, находящуюся внутри папки, в package.json установите основное поле как
"main": "test_function/index.js"
И добавьте сценарий запуска npm как
"start": "npx @google-cloud/functions-framework --target handler"
Обработчик запоминания — это имя функции точки входа, которую вы экспортируете.
Это сработает
Я с нетерпением жду ваших отзывов, чтобы понять, помогло ли предоставленное решение вам решить проблему. Если нет, я буду рад помочь дальше.