본문 바로가기

firebase functions region

카테고리 없음 by 코나인 2023. 5. 9.
반응형

firebase의 functions는 region 지정이 가능하다.

기본(지정 안하면)으로는 'us-central'로 되어있다.

이외의 region은 따로 지정을 해줘야 한다.

 

구현하는 입장

region이 기본값인 경우(us-central)

exports.roomPush = functions.https.onCall(async (data, context) => {
  return 0
})

 

region이 서울인 경우

exports.roomPush = functions.region('asia-northeast3').https.onCall(async (data, context) => {
  return 0
})

 

 

호출하는 입장

앱이 로컬 에뮬레이터를 바라보는 경우 리전 지정이 불가하다.

왜냐하면 배포가 되기 전까지는 지역을 사용할 수 없기때문이다.

답변 원본은 아래 링크 참조

 

useFunctionsEmulator not working with region · Issue #2510 · firebase/firebase-js-sdk

[REQUIRED] Describe your environment Operating System version: Windows 10 Browser version: Chrome 79 Firebase SDK version: 7.6.1 Firebase Product: Functions [REQUIRED] Describe the problem Emulator...

github.com

 

 

따라서 개발시에 클라이언트에서 region을 빼고 호출하고

배포시에는 region을 추가해서 배포해야한다.

 

로컬 에뮬레이터에 접속하는 경우

void _sendPush(roomName) {
  try {
    final roomPush = FirebaseFunctions.instance.httpsCallable('roomPush');
    // final roomPush = FirebaseFunctions.instanceFor(region: 'asia-northeast3')
    //     .httpsCallable('roomPush');
}

 

배포 시의 코드

void _sendPush(roomName) {
  try {
    // final roomPush = FirebaseFunctions.instance.httpsCallable('roomPush');
    final roomPush = FirebaseFunctions.instanceFor(region: 'asia-northeast3')
        .httpsCallable('roomPush');
}

 

반응형

댓글