Example of how you can build IoT solutions that have custom device gateways that are using Dapr Actors to represent devices in the field.
Before you can start, you'll need to :
You are ready to go, deploy!
$ k apply -f .\deploy\dapr-infrastructure.yaml
secret/dapr-infrastructure-secrets created
component.dapr.io/dapr-state-store created
$ k apply -f .\deploy\device-actors.yaml
secret/dapr-sandbox-actors-secrets created
deployment.apps/dapr-sandbox-actors created
$ k apply -f .\deploy\device-api.yaml
secret/dapr-sandbox-apis-device-secrets created
deployment.apps/dapr-sandbox-apis-device created
service/dapr-sandbox-apis-device-service created
service/dapr-sandbox-apis-device-load-balancer created
$ k apply -f .\deploy\twin-changes-stream-processor.yaml
secret/dapr-sandbox-twin-change-secrets unchanged
deployment.apps/twin-changes-stream-processor created
scaledobject.keda.k8s.io/twin-changes-autoscale created
$ k apply -f .\deploy\device-message-stream-processor.yaml
secret/dapr-sandbox-device-telemetry-secrets created
deployment.apps/device-telemetry-stream-processor created
scaledobject.keda.k8s.io/device-telemetry-autoscale created
docker-compose.override.yml
$ cd src
$ docker-compose up
Stop containers with Docker Compose:
$ docker-compose down
Messages should be sent as following to Azure Event Hubs:
messageType: Telemetry
deviceId: <id>
{
"content": "Hello Dapr!"
}