18 releases (breaking)
0.14.0 | Mar 6, 2024 |
---|---|
0.13.0 | Oct 13, 2023 |
0.12.0 | Jun 12, 2023 |
0.11.0 | Feb 22, 2023 |
0.1.0-alpha.2 | Oct 29, 2019 |
#193 in Network programming
2,638 downloads per month
71KB
1.5K
SLoC
Dapr SDK for Rust
⚠ Work in Progress ⚠
Dapr is a portable, event-driven, serverless runtime for building distributed applications across cloud and edge.
Prerequisites
Ensure you have Rust version 1.40 or higher installed. If not, install Rust here.
How to use
Add the following to your Cargo.toml
file:
[dependencies]
dapr = "0.14.0"
Here's a basic example to create a client:
use dapr;
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Get the Dapr port and create a connection
let port: u16 = std::env::var("DAPR_GRPC_PORT")?.parse()?;
let addr = format!("https://127.0.0.1:{}", port);
// Create the client
let mut client = dapr::Client::<dapr::client::TonicClient>::connect(addr).await?;
Explore more examples
Browse through more examples to understand the SDK better: View examples
Building
To build the SDK run:
cargo build
Note: The protobuf client generation is built into
cargo build
process so updating the proto files underdapr/
is enough to update the protobuf client.
Updating .proto files from upstream Dapr
To fetch the latest .proto files from Dapr execute the script update-protos.sh
:
./update-protos.sh
By default, the script fetches the latest proto updates from the master branch of the Dapr repository. If you need to choose a specific release or version, use the -v flag:
./update-protos.sh -v v1.12.0
Dependencies
~8–10MB
~181K SLoC