Examples of how to use fireworks applications together.
Contains the following examples:
docker- demonstrates the use of the Docker images.go- demonstrates the use of the Go packages.
Each example can be run with docker-compose.
To run an example, run docker-compose up --build in its directory.
It will run three services:
localhost:3001- submit document data usingpubsubmit.localhost:3002- create firestore documents usingfiresert.localhost:3003- read firestore documents usingfiread.localhost:3004- delete firestore documents usingfirelete.
The pubsubmit-create service is used to submit data to be published to a creation submission Pub/Sub topic.
To trigger it, submit a POST to localhost:3001 with the Content-Type header set to application/json and a body containing the data you would like to submit, such as this:
{
{
"prop1": "abc",
"prop2": 123
}
}
The firesert service receives Pub/Sub messages pushed from the creation submission Pub/Sub topic and inserts their data into a firestore collection.
It can also be triggered directly by submitting a POST to localhost:3002 with the Content-Type header set to application/json and the following body:
{
"message": {
"data": "ewogICAgICAgICJwcm9wMSI6ICJhYmMiLAogICAgICAgICJwcm9wMiI6IDEyMwp9"
}
}
The data value must be the document you want to insert into firestore in base64 encoding. The above example data will insert the following document:
{
"prop1": "abc",
"prop2": 123
}
The document will be inserted into a collection called "MyCollection". You can view it in the emulator UI at localhost:4000/firestore/data.
The firead service receives requests for firestore documents and returns them in the response body.
After creating a document, submit a GET to localhost:3003/{documentID}. Check the emulator UI for the ID of the document you created and substitute it into the url. For example, if you created a document with the ID "kFdcuYv6z8AmjcI2REgC", use the URL localhost:3002/kFdcuYv6z8AmjcI2REgC.
The firelete service receives Pub/Sub push messages and deletes the document from firestore with the document ID specified in the message.
To trigger it, submit a POST to localhost:3004 with a Content-Type header set to application/json and the following body:
{
"message": {
"data": "ewogICAgICAgICJkb2N1bWVudElEIjogImtGZGN1WXY2ejhBbWpjSTJSRWdDIgp9"
}
}
The data value must include a documentID value which matches the ID of the document to delete. The above example data has the document ID "kFdcuYv6z8AmjcI2REgC":
{
"documentID": "kFdcuYv6z8AmjcI2REgC"
}
The document with the specified ID will be deleted from the colleciton. Check that it is gone in the emulator UI at localhost:4000/firestore/data.