programing

Firebase용 클라우드 기능 - getaddrinfo ENOTFound

muds 2023. 6. 30. 22:40
반응형

Firebase용 클라우드 기능 - getaddrinfo ENOTFound

PayPal-node-SDK를 사용하여 PayPal의 API로 요청하려고 합니다.

exports.requestPayment = functions.https.onRequest((req, res) => {
    return new Promise(function (fullfilled, rejected) {
        paypal.payment.create(create_payment_json, {}, function (error, payment) {
            if (error) {
                rejected(error);
            } else {
                console.log("Create Payment Response");
                console.log(payment);
                res.status(200).send(JSON.stringify({
                    paymentID: payment.id
                })).end();
                fullfilled(payment);
            }
        });
     });
});

하지만 계속해서 오류가 발생합니다.

Error: getaddrinfo ENOTFOUND api.sandbox.paypal.com api.sandbox.paypal.com:443
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

제가 시도해 본 것들:

  1. 완전히 다른 호스트에게 요청하는 중, 여전히ENOTFOUND
  2. 다음으로 요청 마무리cors(req,res, ()=>{...})
  3. 프리펜딩https://호스트에게

뭐가 문제야?

외부 API 요청을 하려면 유료 요금제에 있어야 합니다.

Firebase의 Blaze 플랜(Pay as you go)에는 클라우드 기능이 무료로 할당되어 있습니다.https://firebase.google.com/pricing/

제 상황에서 저는 지체되는 모든 것이 지나가도록 기다려야 했습니다.이제 다시 괜찮아졌습니다.

인터넷이 약해서 이 문제가 발생했습니다. 인터넷 연결을 변경하십시오.

관리 초기화에 서비스 계정을 포함해야 합니다.이것은 나에게 같은 문제를 해결했습니다.

비용이 발생하기 전에 스파크 계획의 무료 사용 계층이 포함된 Firebase "Blaze" 계획으로 전환합니다.Blaze 가격 계산기를 사용하여 주어진 사용량에 대해 얼마가 청구되는지 확인합니다.

처음 5GB의 아웃바운드(출발) 네트워킹은 무료이며, 이는 "네이티브" Google Cloud Functions가 제공하는 것과 동일합니다.

언급URL : https://stackoverflow.com/questions/42774807/cloud-functions-for-firebase-getaddrinfo-enotfound

반응형