State Store
The store-flows
crate offers the ability to store key/value. We can build stateful serverless functions in flows.network.
By enhancing the ability of your flows functions to persist and retrieve data, the library offers a simple way to keep track of state across multiple function invocations.
Usage
The following example offers a taste of what this library can do:
use serde_json::json;
use lambda_flows::{request_received, send_response};
use store_flows::{get, set, Expire, ExpireKind};
#[no_mangle]
pub fn run() {
if let Some((_qry, _body)) = request_received() {
let mut c = match get("count") {
Some(v) => v.as_u64().unwrap_or_default(),
None => 0,
};
c = c + 1;
set(
"count",
json!(c),
Some(Expire {
kind: ExpireKind::Ex,
value: 20,
}),
);
send_response(
200,
vec![(String::from("content-type"), String::from("text/html"))],
c.to_string().as_bytes().to_vec(),
);
}
}
This is a Lambda flow function. It can show the times it has been called. When a request is received, we get the previous count number from store, imcrement it by one, then set it back to store.
The whole document is here.
Flows that used the store-flows
crate
- Integrate ChatGPT into Telegram. the
store-flows
crate is used to save the conversation of ChatGPT.