Connector for Firestore
Stay organized with collections
Save and categorize content based on your preferences.
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
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# Connector for Firestore\n\nWorkflows connector that defines the built-in function used to access Firestore within a workflow.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Cloud Firestore API Connector Overview](/workflows/docs/reference/googleapis/firestore/Overview)\n\nCode sample\n-----------\n\n### YAML\n\n # This workflow demonstrates how to use the Firestore connector:\n # Create and retrieve a Firestore document\n # Export the document to a Cloud Storage bucket (which must already exist)\n # Delete the document\n # Expected output: \"SUCCESS\"\n - init:\n assign:\n - project_id: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}\n - collection: \"example-collection\"\n - document: \"example-document\"\n - create_document:\n call: googleapis.firestore.v1.projects.databases.documents.createDocument\n args:\n collectionId: ${collection}\n parent: ${\"projects/\" + project_id + \"/databases/(default)/documents\"}\n query:\n documentId: ${document}\n body:\n fields:\n fieldA:\n stringValue: abc\n fieldB:\n integerValue: 123\n - get_document:\n call: googleapis.firestore.v1.projects.databases.documents.get\n args:\n name: ${\"projects/\" + project_id + \"/databases/(default)/documents/\" + collection + \"/\" + document}\n result: got\n - check:\n switch:\n - condition: ${got.fields.fieldA.stringValue == \"abc\" AND int(got.fields.fieldB.integerValue) == 123}\n next: export\n - failed:\n raise: ${\"got unexpected document\" + \"fieldA:\" + got.fields.fieldA.stringValue + \" fieldB:\" + string(got.fields.fieldB.integerValue)}\n - export:\n call: googleapis.firestore.v1.projects.databases.exportDocuments\n args:\n name: ${\"projects/\" + project_id + \"/databases/(default)\"}\n body:\n outputUriPrefix: \"gs://EXAMPLE_BUCKET\" # replace EXAMPLE_BUCKET placeholder with existing bucket\n collectionIds:\n - ${collection}\n - drop:\n call: googleapis.firestore.v1.projects.databases.documents.delete\n args:\n name: ${\"projects/\" + project_id + \"/databases/(default)/documents/\" + collection + \"/\" + document}\n - the_end:\n return: \"SUCCESS\"\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]