Download 8GB data from Firestore - firebase

I have around 8GB of data on Firestore. How can I download it. I want to backup it on my Google Drive. If there is any way to do it directly, that'd be great.

You can access your project's backend with Google Cloud, you can select the respective project in the top corner as needed. On the left hand side is a Import/Export option where you can choose to export all of your database or only partial and follow the prompts.
This does affect your project's usage however as 1 read still counts as 1 read.
Source: https://firebase.google.com/docs/firestore/manage-data/export-import#export_data

GOTO https://console.cloud.google.com/firestore/
choose import export
choose your project from the status bar
make sure billing is enabled
Download the data

Related

Move a single collection in Firebase Cloud Firestore from one project to another

I have to Firebase projects, one is for dev and another is for production. I create a bunch of collections and after they successfully pass the test, I'll need to move them into production database. How can I do this without using Cloud Shell, or are there any alternative suggestions of database?
Thank you!
You can export the collection using cloud shell
Manage export ad import
In case you want to move collections between your dev and your production databases, without using Cloud Shell, there is an alternative that you can follow.
For you to achieve that, you will need to follow the below steps.
Create a Cloud Storage bucket to hold the data from your source project.
Export the data from your source project to the bucket.
Give your destination project permission to read from the bucket.
Import the data from the bucket into your destination project.
With these steps, you should be able to migrate data between your projects and have this way, the structure you want of a Development database and a Production database, where you can easily transfer the data. I would recommend you to check the official documentation Move Data Between Projects, to get the whole tutorial on how to achieve the above steps, in case you have doubts on how to achieve them.
Let me know if the information helped you!

Accessing files from Google cloud storage in RStudio

I have been trying to create connection between the Google cloud storage and RStudio server(The one I spinned up in Google cloud), so that I can access the files in R to run sum analysis on.
I have found three different ways to do it on the web, but I don't see many clarity around these ways so far.
Access the file by using the public URL specific to the file [This is not an option for me]
Mount the Google cloud storage as a disc in RStudio server and access it like any other files in the server [ I saw someone post about this method but could not find on any guides or materials that shows how it's done]
Using the googleCloudStorageR package to get full access to the Cloud Storage bucket.
The step 3 looks like the pretty standard way to do it. But I get following error when I try to hit the gcs_auth() command
Error in gar_auto_auth(required_scopes, new_user = new_user, no_auto =
no_auto, : Cannot authenticate -
options(googleAuthR.scopes.selected) needs to be set to
includehttps://www.googleapis.com/auth/devstorage.full_control or
https://www.googleapis.com/auth/devstorage.read_write or
https://www.googleapis.com/auth/cloud-platform
The guide on how to connect using this is found on
https://github.com/cloudyr/googleCloudStorageR
but it says it requires a service-auth.json file to set the environment variables and all other keys and secret keys, but do not really specify on what these really are.
If someone could help me know how this is actually setup, or point me to a nice guide on setting the environment up, I would be very much grateful.
Thank you.
Before using any services by google cloud you have to attach your card.
So, I am assuming that you have created the account, after creating the account go to Console ,if you have not created Project then Create Project, then click on sidebar find APIs & Services > Credentials.
Then,
1)Create Service Account Keys save this File in json you can only download it once.
2)OAuth 2.0 client ID give the name of the app and select type as web application and download the json file.
Now For Storage go to Sidebar Find Storage and click on it.
Create Bucket and give the name of Bucket.
I have added the single image in bucket, you can also add for the code purpose.
lets look how to download this image from storage for other things you can follow the link that you have given.
First create environment file as .Renviron so it automatically catches the json file and save it in a working directory.
In .Renviron file add those two downloaded json files like this
GCS_AUTH_FILE="serviceaccount.json"
GAR_CLIENT_WEB_JSON="Oauthclient.json"
#R part
library(googleCloudStorageR)
library(googleAuthR)
gcs_auth() # for authentication
#set the scope
gar_set_client(scopes = c("https://www.googleapis.com/auth/devstorage.read_write",
"https://www.googleapis.com/auth/cloud-platform"))
gcs_get_bucket("you_bucket_name") #name of the bucket that you have created
gcs_global_bucket("you_bucket_name") #set it as global bucket
gcs_get_global_bucket() #check if your bucket is set as global,you should get your bucket name
objects <- gcs_list_objects() # data from the bucket as list
names(objects)
gcs_get_object(objects$name[[1]], saveToDisk = "abc.jpeg") #save the data
**Note :**if you dont get json file loaded restart the session using .rs.restartR()
and check the using
Sys.getenv("GCS_AUTH_FILE")
Sys.getenv("GAR_CLIENT_WEB_JSON")
#it should show the files
You probably want the FUSE adaptor - this will allow you to mount your GCS bucket as a directory on your Server.
Install gcsfuse on the R server.
create a mnt directory.
run gcsfuse your-bucket /path/to/mnt
Be aware though that RW performance isnt great vis FUSE
Full documentation
https://cloud.google.com/storage/docs/gcs-fuse

Authenticating Firebase Database with Google API via Firebase Functions

here's the task I have and the resources I'm following to try to get it done.
Ultimately what I want is for users to be able to take pictures with my app (made with Ionic) and then those pictures get sorted and end up on the company's Google Team Drive.
What I originally started with was uploading the images to Firebase Storage, and then I was told they must be accessible to Team Drive.
Some of the people taking pictures aren't part of the company's G Suite, so I was thinking it would be easier to just have the database itself authenticate with the Team Drive and upload from there.
Here is an example from github that shows the same thing I want, except it uploads from Firebase Database to Google Sheets:
https://github.com/firebase/functions-samples/tree/master/google-sheet-sync
My plan was to follow this guide exactly to get it working, and then figure out how I can change it for Storage -> Team Drive.
However in following the instructions in the readme (they're pretty old) I've come across an error and now I'm stuck.
For Step #7 in that link where it says to run $ firebase functions:config:set googleapi.client_id="<id>" and the rest of the command, I get in terminal:
Error: HTTP Error: 403, The caller does not have permission
What should be the steps I'm looking at to get this working? I am also unsure if my current implementation makes sense anymore. It wouldn't be a big deal to make everyone using the app sign-in with a Google account so that they can be a member of the Team Drive and just upload directly from the app to Drive. Would that still include the sort of safety behaviour like if the connection drops the file upload will resume independently?
The answer to my first question is to install googleapis and google-auth-library. Run the command in the actual /functions/ directory of the sample.
There were a few other errors created by old code, but they aren't in the scope of this question and I raised them in the github Issues sections.

Google App Maker app not working after deploy

I have built an app with Google App Maker which has a Suggest Box linked to a table by a Query parameter.
The app works correctly in Preview mode, but when I deploy it, the Suggest Box doesn't suggest anything!
I have deployed it once before (without a select box as I recall) and it worked correctly.
I tried redeploying to the original deployment and deploying to a new deployment, same result.
Am I missing some security setting or something?
I am using Drive Tables as my datasource. The kind people at Google sent me a couple of links which helped me to understand what's going on: previewing and publishing your application and running as user or developer.
The crux of the issue is that when you deploy an app and run it as user (default), it doesn't take any Drive Table data with it. If you want to add Drive Table data to the deployed app, you have to do this:
Open App Maker
Go to App Settings
Go to Deployments
Select your most recent deployment and click: “EXPORT DATA”
Make sure you select Preview from the Deployments drop down list.
Click Export
This will export all your Preview data to a new Google Spreadsheet.
Now go to your Drive models in the App Maker and click “IMPORT DATA FROM SHEET”
Here you can choose to import data to your Deployed version.
After completing the import process, you will have all your data in the Deployed app.
All courtesy of Google but I didn't find it in the docs, so it might help someone.
Use the browser console to see if there's an error on the connection, make sure the user has access to the datasource and if you're using cloud SQL check the parameters of cloudSQL in the publication

Save profiles / files Alfresco

I want to uninstall Alfresco and re-install again, but I don't want to loose the accounts created in Alfresco and the other things. Is there any way to save this ?
Thanks!!
Let's assume that by re-installing you mean you want to start with a clean alfresco WAR and share WAR. If so, you can just shut down, remove the alfresco and share directories, then place the clean WARs in the $TOMCAT_HOME/webapps directory. If you had any AMPs deployed, use MMT to re-install those. Then, restart Tomcat. The content is in the content store directory and the metadata is in the database, so you can start over with fresh WARs without losing any data.
If you mean you want to delete everything in $ALFRESCO_HOME but you want to save your data, the easiest thing to do is to dump your database and tar up your content store. Then you can completely blow away your installation, and after reinstalling, you can load your database and un-tar your content store.
If you are trying to blow away some, but not all of your data, you'll have to export what you want to keep. You might go look at the docs on ACP files as one possible approach. Or you could use something like CMIS to write an exporter.
For users, specifically, it is often helpful to use an LDAP directory instead of managing them in Alfresco directly. That way you can completely start over and Alfresco will simply synchronize your users from LDAP.
If you don't want to use LDAP an alternative is to have a simple CSV file with user account data. After starting your repository for the first time you can re-import your users from the CSV file.

Resources