Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1K
Visualizações
Funciones de Firebase Cloud: diferencia entre onRequest y onCall

Al revisar los documentos, encontré:

...puede llamar a funciones directamente con una solicitud HTTP o una llamada del cliente .

~ fuente

allí (enlace en la cita) hay una mención sobre functions.https.onCall .

Pero en el tutorial aquí , se usa otra función functions.https.onRequest , entonces, ¿cuál debo usar y por qué? ¿Cuál es la diferencia/similitud entre ellos?

La documentación para functions.https está aquí .

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

La documentación oficial para ellos es realmente útil, pero desde el punto de vista de un aficionado, las diferencias descritas fueron confusas al principio.

  • Ambos tipos , cuando se implementan, se asignan con una URL de punto final HTTPS única y se puede acceder a ellos directamente mediante un cliente https.

  • Sin embargo, hay una diferencia importante en la forma en que se supone que deben llamarse .

    • onCall : desde firebase.functions() del cliente
    • onRequest : a través del cliente https estándar (por ejemplo fetch() API en JS)

en llamada

  • Se puede invocar (y este es también el objetivo principal) directamente desde la aplicación del cliente.

     functions.httpsCallable('getUser')({uid}) .then(r => console.log(r.data.email))
  • Se implementa con data proporcionados por el usuario y context automático .

     export const getUser = functions.https.onCall((data, context) => { if (!context.auth) return {status: 'error', code: 401, message: 'Not signed in'} return new Promise((resolve, reject) => { // find a user by data.uid and return the result resolve(user) }) })
  • El context contiene automáticamente metadatos sobre la solicitud, como uid y token .

  • Los data entrada y los objetos de response se (des) serializan automáticamente.

bajo pedido

  • Documentos onRequest de Firebase

  • Sirve principalmente como un punto final de Express API.

  • Se implementa con objetos de Request y Response express.

     export const getUser = functions.https.onRequest((req, res) => { // verify user from req.headers.authorization etc. res.status(401).send('Authentication required.') // if authorized res.setHeader('Content-Type', 'application/json') res.send(JSON.stringify(user)) })
  • Depende de los encabezados de autorización proporcionados por el usuario.

  • Usted es responsable de los datos de entrada y respuesta.

Lea más aquí ¿Es mejor el nuevo activador https.onCall de Firebase Cloud Functions?

over 4 years ago · Santiago Trujillo Relatório

0

La principal diferencia entre onCall y onRequest para el cliente es la forma en que se invocan. cuando define una función usando onCall, por ejemplo

 exports.addMessage = functions.https.onCall((data, context) => { // ... return ... });

lo invocas en el lado del cliente usando la función Firebase SDK del cliente, por ejemplo

 // on the client side, you need to import functions client lib // then you invoke it like this: const addMessage = firebase.functions().httpsCallable('addMessage'); addMessage({ text: messageText }) .then((result) => { // Read result of the Cloud Function. });

más información para onCall: https://firebase.google.com/docs/functions/callable

Pero si define su función usando onRequest, por ejemplo

 exports.addMesssage = functions.https.onRequest((req, res) { //... res.send(...); }

puede llamarlo usando la API de búsqueda JS normal (no es necesario importar las funciones de firebase client lib en el lado del cliente), por ejemplo

 fetch('<your cloud function endpoint>/addMessage').then(...)

esta es la gran diferencia que debe tener en cuenta al decidir cómo definir sus funciones en el servidor.

más información para onRequest: https://firebase.google.com/docs/functions/http-events

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda