extensions
extensions copied to clipboard
Allow a service account to be specified for firestore-bigquery-export rather than autogenerating it
[READ] Step 1: Are you in the right place?
Issues filed here should be about a feature request for a specific extension in this repository. To file a feature request that affects multiple extensions or the Firebase Extensions platform, please reach out to Firebase support directly.
[REQUIRED] Step 2: Extension name
This feature request is for extension: firestore-bigquery-export
What feature would you like to see?
Currently, this extension creates one service account per collection that needs to be streamed to BQ. I have 30 collections to replicate, which creates 30 service accounts with BQ Editor permission. Thanks to you that now you have added a feature to stream data to a BQ instance in a different project. In many of the used cases where you are going across projects (e.g. in my case I was going across a BQ project inside a VPC SC), having multiple service accounts is not practical. I wonder, if the team can build a feature to specify a service account for each collection. This way for multiple collections, we can use a single service account and manage its permissions outside of the extension. So, in my case having a service account to go across a VPC SC will work really well.
How would you use it?
I think the right place to specify this service account will be in the .env file that gets referenced from the firebase.json file.
firebase.json
{
"remoteconfig": {
"template": "remoteconfig.template.json"
},
"extensions": {
"firestorecollectionname": "firebase/[email protected]",
}
}
firestorecollectionname.env
COLLECTION_PATH=firestorecollectionname
DATASET_ID=firestore_replication
BIGQUERY_PROJECT_ID=bqprojectid
**SERVICE_ACCOUNT=myserviceaccount**
TABLE_ID=firestorecollectionname
@RajvirBains thanks for the suggestion. This would be relatively easy to implement for installing extensions, but for modifications and uninstall it'll become complicated to manage when we need to cleanup the resources after, and we need to track which SA is used where. That said it is on our roadmap to simplify the experience managing extensions with dozens of instances installed, and we might be able to solve your problem there. Stay tuned!