Connector for Firestore

Workflows connector that defines the built-in function used to access Firestore within a workflow.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

YAML

  # This workflow demonstrates how to use the Firestore connector: 
 # Create and retrieve a Firestore document 
 # Export the document to a Cloud Storage bucket (which must already exist) 
 # Delete the document 
 # Expected output: "SUCCESS" 
 - 
  
 init 
 : 
  
 assign 
 : 
  
 - 
  
 project_id 
 : 
  
 ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")} 
  
 - 
  
 collection 
 : 
  
 "example-collection" 
  
 - 
  
 document 
 : 
  
 "example-document" 
 - 
  
 create_document 
 : 
  
 call 
 : 
  
 googleapis.firestore.v1.projects.databases.documents.createDocument 
  
 args 
 : 
  
 collectionId 
 : 
  
 ${collection} 
  
 parent 
 : 
  
 ${"projects/" + project_id + "/databases/(default)/documents"} 
  
 query 
 : 
  
 documentId 
 : 
  
 ${document} 
  
 body 
 : 
  
 fields 
 : 
  
 fieldA 
 : 
  
 stringValue 
 : 
  
 abc 
  
 fieldB 
 : 
  
 integerValue 
 : 
  
 123 
 - 
  
 get_document 
 : 
  
 call 
 : 
  
 googleapis.firestore.v1.projects.databases.documents.get 
  
 args 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/databases/(default)/documents/" + collection + "/" + document} 
  
 result 
 : 
  
 got 
 - 
  
 check 
 : 
  
 switch 
 : 
  
 - 
  
 condition 
 : 
  
 ${got.fields.fieldA.stringValue == "abc" AND int(got.fields.fieldB.integerValue) == 123} 
  
 next 
 : 
  
 export 
 - 
  
 failed 
 : 
  
 raise 
 : 
  
 ${"got unexpected document" + "fieldA:" + got.fields.fieldA.stringValue + " fieldB:" + string(got.fields.fieldB.integerValue)} 
 - 
  
 export 
 : 
  
 call 
 : 
  
 googleapis.firestore.v1.projects.databases.exportDocuments 
  
 args 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/databases/(default)"} 
  
 body 
 : 
  
 outputUriPrefix 
 : 
  
 "gs://EXAMPLE_BUCKET" 
  
 # replace EXAMPLE_BUCKET placeholder with existing bucket 
  
 collectionIds 
 : 
  
 - 
  
 ${collection} 
 - 
  
 drop 
 : 
  
 call 
 : 
  
 googleapis.firestore.v1.projects.databases.documents.delete 
  
 args 
 : 
  
 name 
 : 
  
 ${"projects/" + project_id + "/databases/(default)/documents/" + collection + "/" + document} 
 - 
  
 the_end 
 : 
  
 return 
 : 
  
 "SUCCESS" 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Create a Mobile Website
View Site in Mobile | Classic
Share by: