programing

Firebase용 Cloud Functions 오류: "400, 함수 트리거 유형 또는 이벤트 공급자를 변경할 수 없습니다."

css3 2023. 6. 19. 21:58

Firebase용 Cloud Functions 오류: "400, 함수 트리거 유형 또는 이벤트 공급자를 변경할 수 없습니다."

실행할 때firebase deploy다음 오류 메시지가 표시됩니다.

functions: HTTP Error: 400, Change of function trigger type or event provider is not allowed

TL;DR

firebase functions:delete yourFunction // this can be done via the Firebase Console as well
firebase deploy

설명.

기본적으로 Cloud Functions는 모든 기능에 대해 항상 동일한 트리거를 예상합니다. 즉, 생성된 후에는 모든 기능 이름이 특정 트리거에 연결되므로 원래 트리거를 고수해야 합니다.따라서 트리거는 먼저 기능을 삭제한 다음 다른 트리거를 사용하여 다시 만들어야만 변경할 수 있습니다.

이제 다음 명령을 사용하여 쉽게 이 작업을 수행할 수 있습니다.

firebase functions:delete yourFunction

설명서에는 고급 사용 사례도 나와 있습니다.

구해

이 문제의 해결책은 기본적으로 기능을 주석 달거나 잘라낸 다음 기능 파일을 저장하고 배포하는 것입니다.이 기능은 Firebase에서 삭제되지만, 그 후에는 기능을 삽입/언코멘트할 수 있으며, 다시 정상적으로 배포됩니다.이 오류는 함수를 사용하여 해당 함수가 사용하는 트리거 유형(예: HTTP, 데이터베이스 또는 인증)을 변경할 때 발생합니다.

먼저 그것을 잘라냅니다.

/* exports.yourFunction = someTrigger... */

그런 다음 배포 ("파이어베이스 배포") 트리거를 교체합니다.

exports.yourFunction = anotherTrigger...

나중에 이 문제를 발견한 사람들을 위해 클라우드 기능 콘솔은 이제 삭제 버튼을 제공합니다.screenshot of the right hand side's "more" options

Google Cloud Platform 콘솔의 Cloud Functions 패널로 이동하여 해당 패널에서 기능을 삭제할 수도 있습니다.그런 다음 Firebase CLI에서 정상적으로 기능을 업로드할 수 있습니다.파이어베이스 콘솔에 삭제 기능 옵션이 없는 이유를 잘 모르겠습니다.

언급URL : https://stackoverflow.com/questions/46530361/cloud-functions-for-firebase-error-400-change-of-function-trigger-type-or-eve