programing

오류: HTTP 오류 400, 요청에 오류가 있습니다.Firebase Firestore 클라우드 기능

newstyles 2023. 6. 18. 12:27

오류: 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