with Fauna and Data Stores?
Emit new event each time you add or remove a document from a specific collection, with the details of the document.
Add or update a single record in your Pipedream Data Store
Performs an arbitrary authorized GraphQL query. See docs here
Add or update multiple records to your Pipedream Data Store
Append to a record in your data store Pipedream Data Store. If the record does not exist, a new record will be created in an array format.
Fauna API offers a powerful serverless database solution for modern applications. Its unique capabilities allow for highly scalable, secure, and flexible data management. With Pipedream, you can harness the power of Fauna to create intricate serverless workflows that react to various triggers, manage data efficiently, and connect seamlessly with other services and APIs to automate complex tasks.
module.exports = defineComponent({
props: {
faunadb: {
type: "app",
app: "faunadb",
}
},
async run({steps, $}) {
const faunadb = require('faunadb')
const q = faunadb.query
const client = new faunadb.Client({ secret: this.faunadb.$auth.secret })
// Lists collections in the database tied to your secret key
const collectionsPaginator = await client.paginate(q.Collections())
this.collections = []
await collectionsPaginator.each(page => {
for (const collection of page) {
this.collections.push(collection.id)
}
})
},
})
Data Stores are a key-value store that allow you to persist state and share data across workflows. You can perform CRUD operations, enabling dynamic data management within your serverless architecture. Use it to save results from API calls, user inputs, or interim data; then read, update, or enrich this data in subsequent steps or workflows. Data Stores simplify stateful logic and cross-workflow communication, making them ideal for tracking process statuses, aggregating metrics, or serving as a simple configuration store.
export default defineComponent({
props: {
myDataStore: {
type: "data_store",
},
},
async run({ steps, $ }) {
await this.myDataStore.set("key_here","Any serializable JSON as the value")
return await this.myDataStore.get("key_here")
},
})