Skip to content

thomas-tribus/rust-sdk

 
 

Repository files navigation

Dapr SDK for Rust

Crates.io Build Status License: Apache 2.0

⚠ Work in Progress ⚠

Dapr is a portable, event-driven, serverless runtime for building distributed applications across cloud and edge.

Prerequsites

Usage

[dependencies]
dapr = "0.5.0"

A client can be created as follows:

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?;

Try out examples

Examples

Building

To build

cargo build

Note: The proto buf client generation is built into cargo build process so updating the proto files under dapr/ is enough to update the proto buf client.

To refresh .proto files from upstream dapr

  1. Just need to run update-protos.sh, which will basically fetch latest proto updates.
  2. By default, it picks from master proto. To specify a particular release/version, please specify with a -v flag
./update-protos.sh -v v1.7.0-rc.2

About

Dapr SDK for Rust - Alpha

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 84.8%
  • Shell 15.2%