Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Samples and tutorials

Caution

The samples and tutorials provided in this repository are for demonstration purposed only, and should not be deployed to a production system or included within an application without a full understanding of how they operate.

Additionally some samples may use a username and password for authentication. This is used for sample simplicity and a production system should use a robust authentication mechanism such as certificates.

The following is a list of tutorials and samples that are available across all languages. Each language may have additional samples which can also be found within each language directory.

Tip

Refer to the setup documentation for setting up your development environment prior to running the samples and tutorials.

A 🟡 mean the tutorial or sample is planned.

Tutorials

The tutorials listed below are step-by-step instructions to deploy a fully functioning application to a cluster and observer the functioning output.

Tutorial Description Go .NET Rust
Event Driven Application Read from a topic and perform a sliding window calculation, utilizing the State Store to cache historical data. The result is written to a second topic. 🟡 .NET Rust

Samples

Category Sample Description Go .NET Rust
MQTT Session client Connect to the MQTT broker 🟡 .NET Rust
Session client - SAT auth Connect to the MQTT broker with SAT 🟡 🟡 Rust
Session client - x509 auth Connect to the MQTT broker with x509 🟡 🟡 🟡
Protocol Telemetry client Send and receive messages to a MQTT topic 🟡 🟡 Sender
Receiver
Telemetry client with Cloud Events Send and receive messages to a MQTT topic with cloud events Go 🟡 Sender
Receiver
Command client Invoke and execute and command using the MQTT RPC protocol 🟡 🟡 Invoker
Executor
Services State store client Get, set and delete a key Go .NET Rust
State store client - observe key Observe a key and receive a notification 🟡 .NET Rust
Leased lock client Lock a key in the state store shared between applications Go .NET 🟡
Leader election client Leader assignment for highly available applications 🟡 .NET 🟡
Schema registry client Get and set schemas from the registry Go .NET Rust
Akri client Notify Akri services of discovered assets 🟡 🟡 🟡
Codegen Telemetry & command A basic telemetry and command 🟡 🟡 🟡
Telemetry + primitive schema Telemetry using primitive types such as integers, bool and float 🟡 🟡 🟡
Telemetry + complex schema Telemetry using complex types such as maps and objects 🟡 🟡 🟡
Command variants Commands using idempotent and cacheable 🟡 🟡 🟡

Additional samples and tutorials

Refer to each language directory below for additional samples.

.NET SDK:

Go SDK:

Rust SDK: