kv-store-rust-starter-kit
- Platform:
- Fastly Compute
- Language:
- Rust
- Repo:
- https://github.com/fastly/compute-starter-kit-rust-kv-store
Use this starter
Using the Fastly CLI, create a new project using this starter somewhere on your computer:
$ fastly compute init --from=https://github.com/fastly/compute-starter-kit-rust-kv-store
Or click the button below to create a GitHub repository, provision a Fastly service, and set up continuous deployment:
Understanding the code
./src/main.rs
A single main function is defined which uses the #[fastly::main]
macro, this is the function that recieves the incoming Request
and returns a Result<Response>
, which will be sent to the user-agent.
Deploying the project to Fastly
Note that Fastly Services have to have unique names within a Fastly Account.
To create and deploy to a new Fastly Service run the command and follow the instructions:
fastly compute publish
That is it, we now have a Fastly Service, a Fastly KV Store and have them linked together!
You can view real-time logs for the Fastly Service by running:
fastly log-tail
Adding entries to the KV Store
It is possible to add key-value pairs to an KV Store using the Fastly CLI like so:
fastly kv-store-entry create --store-id=$FASTLY_KV_STORE_ID --key-name=$KEY --value=$VALUE
For example, here is how you could add to the KV Store named my-store
a key named readme
whose value is the contents of README.md
:
fastly kv-store-entry create --store-id="$(fastly kv-store list --json | jq -r '.Data[]|select(.Name=="my-store").ID')" --key-name="readme" --value="$(cat README.md)"
Next steps
Starters are a good way to bootstrap a project. For more specific use cases, and answers to common problems, try our library of code examples.