Bienvenida e Introducci贸n

1

Qu茅 aprender谩s sobre las firebase cloud functions

2

Qu茅 es firebase y las cloud functions

Consola web de administraci贸n

3

Consola de administraci贸n y documentaci贸n

4

Creaci贸n del proyecto de Cloud Functions

Extendiendo la Gesti贸n de Usuarios con Cloud Functions.

5

Creaci贸n de las cloud functions de autenticaci贸n

6

Probando y desplegando las Cloud Functions de autenticaci贸n

Extendiendo Firestore con Cloud Functions.

7

Creaci贸n de las cloud functions de Firestore

8

Probando y desplegando las cloud functions de Firestore

Extendiendo el Almacenamiento con Cloud Functions.

9

Creaci贸n de las cloud functions para el storage

10

Terminando de crear cloud functions para el storage y probando su funcionamiento

11

Probando y desplegando las cloud functions de almacenamiento con Firestore

Creando Cloud Functions HTTPS

12

Creaci贸n de la cloud function HTTPS

13

Bonus: Construyendo un controlador para la funci贸n HTTP

14

Probando y desplegando las cloud function HTTPS

Extendiendo el Hosting con Cloud Functions.

15

Usando las firebase cloud functions desde el hosting

Extendiendo crashlytics con Cloud Functions.

16

Creaci贸n de las cloud functions de Crashlytics

17

Probando y desplegando la cloud function de Crashlytics

Extendiendo Analytics con Cloud Functions.

18

Creaci贸n de las cloud functions cuando se registra un evento en las anal铆ticas de Firebase

19

Probando y desplegando la cloud function de anal铆ticas

Creaci贸n de pruebas unitarias a las Cloud Functions.

20

Creando pruebas unitarias en Firebase Cloud Functions

Optimizando las Cloud Functions.

21

Buenas practicas para las cloud functions

Cierre

22

Conclusiones finales y cierre

Curso de Firebase Cloud Functions 2019

Curso de Firebase Cloud Functions 2019

Juan Guillermo G贸mez Torres

Juan Guillermo G贸mez Torres

Creaci贸n del proyecto de Cloud Functions

4/22
Recursos

Vamos a ejecutar los siguientes comandos para instalar y preparar las herramientas de nuestro proyecto en Firebase:

  1. Instalaci贸n: npm install -g firebase-tools

  2. Login: firebase login

  3. Iniciar el proyecto e instalar las dependencias necesarias: firebase init functions

  4. Desplegar todas las funciones firebase deploy --only functions

  5. Desplegar solo una funci贸n: firebase deploy --only functions:NombreDeLaFunci贸n

  6. Borrar una funci贸n: firebase functions:delete NombreDeLaFunci贸n

  7. Visualizar el log (el texto imprimido en la consola) de todas las funciones desplegadas: firebase functions:log

Aportes 22

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

馃椇 Podemos cambiar la regi贸n de despliegue o el espacio que ocupan nuestras funciones utilizando solo c贸digo de JavaScript:

# Normal:
exports.helloWorld = functions.https.onRequest((request, response) => {
        response.send("Hello from Firebase!");
});

# Cambiar la regi贸n:
exports.helloWorld = functions.region("NOMBRE DE LA REGI脫N. Ex. asia-northeast1").https.onRequest((request, response) => {
        response.send("Hello from Firebase!");
});

# Cambiar el espacio:
exports.helloWorld = functions.runWith("Cantidad de GB. Ex. 1GB").https.onRequest((request, response) => {
        response.send("Hello from Firebase!");
});

馃摎 Podemos encontrar toda esta y much铆sima m谩s informaci贸n en Administra la implementaci贸n de funciones y las opciones de tiempo de ejecuci贸n - Firebase Docs.

Que plugin hace que salga una llama cada vez que escribes en VS Code?

Comandos:
Desplegar solo una funci贸n:

firebase deploy --only functions:helloworld

.
Eliminar una funci贸n:

firebase functions:delete helloworld

.
Ver log:

firebase functions:log

.
Ver log:

firebase functions:log

Si tiene un error de acceso de escritura, en macbook, agregar la palabra sudo npm install -g firebase-tools

me salta el siguiente error alguien sabra por que?

functions: Finished running predeploy script.
i  functions: ensuring necessary APIs are enabled...
鉁  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (41.64 KB) for uploading
鉁  functions: functions folder uploaded successfully
i  functions: updating Node.js 8 function helloWorld(us-central1)...
鈿  functions[helloWorld(us-central1)]: Deployment error.
Failed to retrieve function source code


Functions deploy had errors with the following functions:
        helloWorld


To try redeploying those functions, run:
    firebase deploy --only functions:helloWorld


To continue deploying other features (such as database), run:
    firebase deploy --except functions

Error: Functions did not deploy properly.

Having trouble? Try firebase deploy --help

como puedo usar la sintaxis de ES6 (import, async/await) para escribir mis cloud functions? Estoy emilandolas sobre node 8 pero parece no ser suficiente ya que me tira error de sintaxis!

Para los que les aparece el error de Error: Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan.

deben actualizar su metodo de pago de firebase a blaze con una tarjeta de credito, no se les cobrar谩 nada a menos que superen los limites establecidos.

En que situaciones seria conveniente ampliar la memoria RAM? si al momento de subirla me da el uso minimo o no

El no explico los par谩metros que se deben pasar para configurar tama帽o de memoria y tiempo de espera de una funci贸n. Si alguien los necesita se los adjunto:

exports.helloWorld = functions.runWith({
  timeoutSeconds: 300,
  memory: '1GB'
}).https.onReques((request,response)=>{
  response.send('Hello from Firebase')
})

a帽o 2022- Hola compas si no les funciona cuando ejecuten el comando: firebase deploy --only functions

**Despues de buscar encontre en el scripts del package.json , un espacio despues y un punto. **

鈥渟cripts鈥: {
鈥渓int鈥: 鈥渆slint .鈥, }
cambiar por:
鈥渟cripts鈥: {
鈥渓int鈥: 鈥渆slint鈥,
},

En mi caso tengo NODE 14 y para realizar esta creacion de proyecto de cloud se necesita una cuenta de facturaci贸n para usar el tiempo de ejecuci贸n de Node.js para Cloud Functions para Firebase.

Debido a las actualizaciones de su arquitectura subyacente planificadas para el 17 de agosto de 2020, Cloud Functions para Firebase depender谩 de algunos servicios pagos adicionales de Google: Cloud Build , Container Registry y Cloud Storage . Estas actualizaciones de arquitectura se aplicar谩n a las funciones implementadas en el tiempo de ejecuci贸n de Node.js 10 (10 en adelante). El uso de estos servicios se facturar谩 adem谩s de los precios existentes.

Ayuda!!!

Al hacer el deploy y acceder a la pagina siempre tengo el siguiente error:

Uncaught ReferenceError: require is not defined

Como puedo hacer para firebase acepte el require de modulos js?

Al parecer cuando se creo este proyecto era disponible en el plan spark las cloud functions pero actualmente ya pide que sea con un plan de paga como es Blaze m铆nimo.

Cambio de regi贸n

Si vienen del curso anterior y descargan este nuevo proyecto. Deben de actualizar el archivo:
.firebaserc

{
  "projects": {
    "default": "XXXXXXX"
  }
}

Para aquellas personas que tengan un mensaje de error el cual indica:
La versi贸n 9 de Nodejs dej贸 de estar disponible

Deben:

  1. Eliminar la funci贸n (bien sea desde la consola, o desde la terminal como se hace en el minuto 9:00)
  2. Actualizar el archivo package.json
...
  "engines": {
    "node": "10"
  },
...
  1. Desplegar nuevamente la funci贸n: firebase deploy --only functions

Al intentar hacer un deploy de las cloud functions aparece el siguiente error, parece que ya no es gratis.

<Error: Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. To upgrade your project, visit the following URL:
      
https://console.firebase.google.com/project/testfirebase-24e3f/usage/details

For additional information about this requirement, see Firebase FAQs:

https://firebase.google.com/support/faq#functions-runtime>

Nadie nos coment贸 que deb铆amos actualizar un plan de pago y de hacer cuenta en GCP para poder trabajar con las Cloud Functions. Deber铆an actualizar este material.

tengo este error al ejecutar el comando firebase deploy --only functions

Error: HTTP Error: 400, Billing account for project 鈥507473712377鈥 is not found. Billing must be enabled for activation of service(s) 鈥榗loudbuild. googleapis. com,containerregistry. googleapis. com鈥 to proceed.

Hago un correcci贸n, del minuto 8 por defecto el no se帽ala la zona m谩s cercana sin la zona que se帽alemos, de acuerdo a la configuraci贸n inicial.

me sale este error " Error: Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. To upgrade your project, visit the following URL: