Function: Basic Bucket Ops
Goal: Perform the basic bucket operations where Eventing interacts with the Data service.
-
This function basicBucketOps merely demonstrates basic Evening BucketOps.
-
Requires a metadata bucket, a source bucket, and a bucket called "destination".
-
Needs a Binding of type Bucket Alias (as documented in the Scriptlet).
-
Will operate on any mutation where doc.type === "basic_bkt_ops".
-
The final document is deleted, as such the output is the Application log file.
-
For more detail refer to Bucket Accessors
// To run need a Binding in this Function's Settings as follows:
// 1. Bucket Alias
// 2. dst_bkt
// 3. destination
// 4. read+write
function OnUpdate(doc, meta) {
// filter out non-interesting docs
if (doc.type !== "basic_bkt_ops") return;
// Assuming 'dst_bkt' is a bucket alias binding in this case to a non source bucket
log("OnUpdate got mutation for id",meta.id,"doc",doc);
// make a key based on the meta.id of the input mutation
var dst_key = "dst_" + meta.id;
// make a document to write, include the input mutation's doc
var doc_to_wr = {"status":3, "mutation": doc};
// this is a bucket SET operation.
dst_bkt[dst_key] = doc_to_wr;
log("wrote DOC to dst_bkt with id",dst_key,doc_to_wr);
// this is a bucket GET operation.
var doc_read = dst_bkt[dst_key];
log("read DOC from dst_bkt with id",dst_key,doc_read);
// this is a bucket DEL operation.
delete dst_bkt[dst_key];
log("deleted "+dst_key+" from dst_bkt");
}
INPUT: KEY basic_bkt_ops::1
{
"type": "basic_bkt_ops",
"id": 1,
"test": true
}
2020-08-06T17:16:50.429-07:00 [INFO] "deleted dst_basic_bkt_ops::1 from dst_bkt"
2020-08-06T17:16:50.428-07:00 [INFO] "read DOC from dst_bkt with id" "dst_basic_bkt_ops::1" {"status":3,"mutation":{"type":"basic_bkt_ops","id":1,"test":true}}
2020-08-06T17:16:50.427-07:00 [INFO] "wrote DOC to dst_bkt with id" "dst_basic_bkt_ops::1" {"status":3,"mutation":{"type":"basic_bkt_ops","id":1,"test":true}}