AWS Lambda usando firebase-admin initializeApp timeout

Yo uso el mensaje de Lambda a Firebase. Refesta. Pero la función lambda aún agota el tiempo de espera porque no puede conectarse al servidor de Google.

Handler.js

/ [START imports]
const firebase = require('firebase-admin');
const serviceAccount = require("../serviceAccount.json");

module.exports.message = (event, context, callback) => {
  context.callbackWaitsForEmptyEventLoop = false;  
  const registrationToken = "xxxxxxx";

  const payload = {
    data: {
      score: "850",
      time: "2:45"
    }
  };

  // [START initialize]
  if(firebase.apps.length == 0) {   // <---Important!!! In lambda, it will cause double initialization.
    firebase.initializeApp({
      credential: firebase.credential.cert(serviceAccount),
      databaseURL: 'https://messaging-xxxxx.f,irebaseio.com'
    });
  }

  // Send a message to the device corresponding to the provided
  // registration token.
  firebase.messaging().sendToDevice(registrationToken, payload)
    .then(function(response) {
      // See the MessagingDevicesResponse reference documentation for
      // the contents of response.
      console.log("Successfully sent message:", response);
      callback(null, {
        statusCode: 200,
        body: JSON.stringify("Successful!"),
      });
    })
    .catch(function(error) {
      console.log("Error sending message:", error);
      callback(null, {
        statusCode: 500,
        body: JSON.stringify({
          "status": "error",
          "message": error
        })
      })
    });
};

CloudWatch

[Error: la implementación de credenciales proporcionada para inicializarApp () a través de la propiedad "credencial" no pudo obtener un token de acceso válido de Google OAuth2 con el siguiente error: "connect ETIMEDOUT 172.217.26.45:443".]

Pero uso el mismo serviceAccount.json para ejecutar mi ec2 y work find. ¿Alguien se encuentra con esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta