오류: HTTP 오류 400, 요청에 오류가 있습니다.Firebase Firestore 클라우드 기능
firebase deploy 명령을 실행하는 동안 다음 오류가 발생합니다.
i는 기능을 배포합니다.
i 기능: 필요한 API가 활성화되었는지 확인합니다...
i runtimeconfig: 필요한 API를 사용하도록 설정합니다.
✔ runtimeconfig: 필요한 모든 API가 활성화되었습니다.
✔ 기능: 필요한 모든 API 사용 가능
i functions: 업로드를 위한 functions 디렉토리 준비...
i 기능: 업로드를 위한 패키지 기능(4.04KB)
✔ functions: functions 폴더가 업로드되었습니다.
릴리스 프로세스를 시작합니다(몇 분 정도 걸릴 수 있음)...
i 함수: 함수 팔로워 알림 만들기...
⚠ 함수: 함수 팔로어 알림을 생성하지 못했습니다.
⚠ 기능: HTTP 오류: 400, 요청에 오류가 있습니다.
⚠ 함수: 1개의 함수를 배포하지 못했습니다.
함수 배포에 오류가 발생했습니다.다른 기능(예: > 데이터베이스)을 계속 배포하려면 firebase deploy --except functions를 실행합니다.
오류: 기능이 제대로 배포되지 않았습니다.
문제가 있습니까?Firebase 배포 시도 --help
다른 모든 것은 문제없이 작동합니다.파이어베이스 파이어스토어에서 뭔가를 만들려고 할 때만.
저도 이런 일이 있었는데, 2층에서는 소방서에서 서류만 가능하고 수거는 안 된다는 것을 알게 되었습니다.
저는 이 길을 들으려고 했습니다.
/collection/document/{wildcard}
당신은 다음과 같은 것을 할 수 있습니다.
/collection/{wildcard}
또는
/collection/document/collection/{wildcard}
저도 이런 문제가 있었습니다.제 경우에는 트리거 경로에 문서 경로의 후행 슬래시가 있기 때문입니다.
변경 사항:
functions.firestore
.document('some_path/{pushId}/')
받는 사람:
functions.firestore
.document('some_path/{pushId}')
제가 고쳐줬어요.이것은 여러 가지 문제로 인해 발생한 것으로 보이며, 소방대원들이 그 이유를 제대로 설명하지 못하고 있습니다.
저에게는 어떤 대답도 저에게 도움이 되지 않았습니다.결국 (Google로부터) 문제를 정확히 파악하기 위한 단계 목록을 받았습니다.실행하는 경우:
firebase --debug --only functions deploy
제 경우와 같은 보다 자세한 오류 해결 방법을 제공합니다.
HTTP RESPONSE BODY <?xml version='1.0' encoding='UTF-8'?><Error><Code>EntityTooLarge</Code><Message>Your proposed upload is larger than the maximum object size specified in your Policy Document.</Message><Details>Content-length exceeds upper bound on range</Details></Error>
Okej 이것이 당신이 봐야 할 것입니다.
이왕이면
exports.yourFunctionName = functions.firestore.document
할 은 당이봐할것은야입니다..document
경로는 컬렉션이 아닌 문서를 가리켜야 합니다.
그래서 이것은 작동하지 않을 것입니다.
/level1/{level1Id}/level2<- 컬렉션을 가리킵니다.
작동합니다.
/level1/{level1Id}/level2/{level2Id}
문서에 수행이 있을 때 찾는 클라우드 기능
이것이 누구에게 도움이 되기를 바랍니다.
문제는 컬렉션만 참조하고 다음과 같은 문서는 참조하지 않는다는 것입니다.
exports.myFunctionName = functions.firestore
.document('users').onWrite((event) => {
// ... Your code here
});
다음과 같이 문서를 참조해야 합니다.
exports.myFunctionName = functions.firestore
.document('users/marie').onWrite((event) => {
// ... Your code here
});
다음과 같은 와일드카드를 사용할 수도 있습니다.
exports.myFunctionName = functions.firestore
.document('users/{userId}').onWrite((event) => {
// ... Your code here
});
https://firebase.google.com/docs/functions/firestore-events 에 설명되어 있습니다.
제가 도울 수 있기를 바랍니다.
이 문제는 아마도 함수 이름의 길이 때문에 발생했을 것입니다.
이름이 다음과 같은 경우:
myFunctionsFromWorksWithCustumersTiggersTests
다음과 같이 더 짧은 이름으로 변경:
WorkWithCustumers
내가 도와주고 싶었다.
숫자 문자로 시작하는 Cloud pub/sub를 듣는 기능을 게시하려고 할 때 동일한 오류가 발생했습니다.
exports.nightly_pruning = functions.pubsub.topic('24hr-tick').onPublish((event) => {
...
});
이름만 변경하여 수정:
exports.nightly_pruning = functions.pubsub.topic('nightly-tick').onPublish((event) => {
...
});
(위의 Nikolai Hegelstad 덕분입니다.저는 논평할 평판이 없습니다.)
함수 이름을 변경하기 전까지 동일한 오류가 발생했습니다.
create_message_
로.
create_new_message
함수 이름의 끝에 있는 '_'(밑줄)이 이 오류를 일으켰을 수 있습니다.
내보내기 기능 이름의 시작 부분에 밑줄이 있어서 이런 경험을 했습니다.다음을 사용하여 직접 테스트할 수 있습니다.
exports._someLongNameWithUnderscore= functions.auth.user().onCreate(user => {
return true;
});
exports.someLongNameWithoutUnderscore= functions.auth.user().onCreate(user => {
return true;
});
exports.shortName= functions.auth.user().onCreate(user => {
return true;
});
시작 또는 끝에 밑줄이 있는 항목은 다음과 같이 실패합니다.HTTP:400그리고 다른 사람들은 배치될 것입니다.
잘못된 노드 버전을 사용하는 경우에도 이 문제가 발생할 수 있습니다.함수 작업 중에 노드 버전을 8.x로 설정한 후에 경험했습니다.v10.x로 다시 전환하여 문제가 사라졌습니다.
여전히 이 문제를 겪고 있는 사람이 있다면, 제 경우 솔루션이 실행 중이었습니다.npm install -g firebase-tools업데이트하려면 cli, 추가
"engines": {
"node": "8"
}
포장할 수 있습니다.제이손
동일한 오류 메시지에 대한 제 문제는 Cloud Functions의 pubsub가 숫자 문자로 시작하는 이름의 항목을 지원하지 않는 것 같습니다.
린터가 청취자 선언에서 줄 바꿈을 거부할 것이라는 점도 지적하고 싶습니다. 즉,
exporst.myFunc = functions.firestore
.document('collection/{uid}')
.onEvent(...)
린터가 크게 도움이 되지 않으며 설명서에 포함되지 않은 것(통상적으로)
언급URL : https://stackoverflow.com/questions/46818082/error-http-error-400-the-request-has-errors-firebase-firestore-cloud-function
'programing' 카테고리의 다른 글
| VBA에서 트림()과 트림 $()의 차이점은 무엇입니까? (0) | 2023.06.23 |
|---|---|
| 탄성검색 Spring boot 통합 테스트 (0) | 2023.06.23 |
| Git에 있는 프로젝트의 모든 개발자 나열 (0) | 2023.06.18 |
| 만료일을 기준으로 중복된 레코드를 선택적으로 삭제하는 SQL (0) | 2023.06.18 |
| TypeScript의 콘솔 입력 (0) | 2023.06.18 |