A Abril del 2024, ya existe una manera un poco más simple de configurar los backups. Ver: https://webintegral.com.co/blog/como-configurar-los-backups-de-firestore-desde-la-consola/
gcloud permite gestionar los proyectos Google Cloud. ¡En serio! Cosas como respaldar bases de datos (firestore) o similares, son más fáciles de hacer aquí.
Para hacerse la vida más fácil, se pueden crear ‘configuraciones’ que se pueden activar una a la vez para no tener que definir cada vez en que proyecto se está trabajando.
Antes de comenzar debes instalar Google Cloud CLI, que será la consola con la que podrás gestionar tus proyectos. En el siguiente enlace podrás encontrar las instrucciones para instalarlo: https://cloud.google.com/sdk/docs/install?hl=es-419
Para crear una configuración para el proyecto «mi-proyecto» se puede usar el siguiente comando:
gcloud config configurations create mi-proyecto
Una vez creada, se puede validar que efectivamente dicha configuración ahora está activa con el siguiente comando:
gcloud config configurations list
Saldrá una cosa como así:
NAME IS_ACTIVE ACCOUNT PROJECT DEFAULT_ZONE DEFAULT_REGION
vaina-ahi False
otra-cosa False [email protected] cosa-dev
default False [email protected] otra-dev
mi-proyecto True
blabla-dev False [email protected] blab-dev
Nótese que ‘mi-proyecto’ sale como activo. El lío es que está vacío. Toca asignarle el proyecto al que está asociado. Para esto, se especifica el id del proyecto con el siguiente comando.
gcloud config set project mi-proyecto
Esto correrá un proceso que se demora un ratico. Por favor no lo detenga. La otra cosa que se necesita es la cuenta que usará para la autenticación:
gcloud config set account [email protected]
Con esto queda la cuenta creada. Ahora sí, hagamos el backup de la base de datos del proyecto:
gcloud firestore export gs://bucket-pal-backup
Digamos que hoy es día de hacer respaldos en todos los proyectos, entonces para cambiar de un proyecto a otro, se utiliza el siguiente comando:
gcloud config configurations activate otro-proyecto
Sobra decir que solo se pueden activar los proyectos que ya están definidos y que aparencen con el comando
gcloud config configurations list
Si tu necesidad es corregir el error de CORS, deberás asegurarte en el Google CLI que efectivamente el proyecto en el que está saliendo el error esté completamente creado y habilitado (true). Luego en la terminal del proyecto, en la raíz podrás ingresar la instrucción:
gsutil cors set projects/wi/src/app/files-wi/cors.json gs://<nombre del bucket del storage>
El nombre del bucket del storage puedes encontrarlo en la consola de firebase, en el storage.
Por si está absolutamente perdido con esto:
- La documentación completa del comando config de gcloud puede encontrarse aquí: https://cloud.google.com/sdk/gcloud/reference/config
- La documentación de como se exportan datos de firestore está aquí: https://firebase.google.com/docs/firestore/manage-data/export-import
- Para poder exportar datos de firestore toca crear un bucket. La documentación está aquí: https://cloud.google.com/storage/docs/creating-buckets
- Y si usted no quiere tener que hacer esto nunca más, la manera de hacer un script que lo haga solito está aquí: https://cloud.google.com/firestore/docs/solutions/schedule-export
La virgen los acompañe.