У меня возникли проблемы с развертыванием моей функции Firebase, так как я не могу назвать свою функцию ЛЮБЫМ стандартом. Я хотел назвать свою функцию «mgHandleStripePaymentSuccess».
Вот мой код (это вся функция)
// The Firebase Admin SDK to access Firestore.
import * as admin from "firebase-admin";
admin.initializeApp();
// Import the onCustomEventPublished function from Eventarc
import {onCustomEventPublished} from "firebase-functions/v2/eventarc";
export const mgHandleStripePaymentSuccess = onCustomEventPublished(
"com.stripe.v1.checkout.session.completed",
(event: any) => {
console.info("Stripe payment success event data:", event.data);
// Handle extension event here.
return null;
});
Вот мои ошибки:
Error: mgHandleStripePaymentSuccess v2 function name(s) can only contain lower case letters, numbers, hyphens, and not exceed 62 characters in length
Я переименовал свою функцию «mg-handle-stripe-payment-success», чтобы использовать только строчные буквы и дефисы, как было сказано, что я могу. Опять очередная ошибка
12:15 error Parsing error: ',' expected
Строка 12, символ 15 — это расположение первого дефиса в имени функции. В этот момент я подумал, может быть, он перепутал дефисы с символами подчеркивания? Я проверил это, изменив имя моей функции на «mg_handle_stripe_payment_success» и получил худшую ошибку из всех:
12:14 error Identifier 'mg_handle_stripe_payment_success' is not in camel case camelcase
Первая ошибка гласила, что я не могу использовать camelCase. Итак, я должен назвать свою функцию самым ужасным способом? Такой как:
"mghandlestripepaymentsuccess"?
Учитывая, что расширение Firebase Stripe сделало все функции строчными с дефисами, я думаю, что что-то не так (с моей стороны или в линтере)
Это ограничение изменилось. Смотрите обновление к моему ответу ниже.
Облачные функции Gen 2 имели ограничения на имена функций:
Имена функций ограничены строчными буквами и цифрами.
Это ограничение было снято с 4 апреля 2023 года:
Теперь вы можете использовать прописные буквы и символы подчеркивания в имени функции, которое вы указываете для функции 2-го поколения при развертывании функции.
Это более подробно описано в документации по развертыванию
Первый аргумент,
YOUR_FUNCTION_NAME
, — это имя развернутой функции. Имя функции должно начинаться с буквы, за которой следует до 62 букв, цифр, дефисов или знаков подчеркивания, и должно заканчиваться буквой или цифрой.
Я очень ценю обновление! С соглашением о строчных буквах было совсем не весело работать.
Вопреки своей воле я изменил имя функции на «handlesuccess», чтобы продолжить тестирование. но я просто хотел сказать, что это совершенно ужасно и абсолютно ненавижу это. LOL, извините, но, пожалуйста, помогите мне.