You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+14-5Lines changed: 14 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,11 @@
4
4
5
5

6
6
7
-
Cloud Relay accepts application data via MQTT and relays it to a cloud provider's IoT Core facility. You only need to provide the data, and Cloud Relay takes care of messaging with the cloud provider. Cloud Relay works with AWS IoT Core and Google Cloud (GCP) IoT Core.
7
+
Cloud Relay accepts application data via MQTT and relays it to a cloud provider's IoT Core facility. You only need to provide the data, and Cloud Relay takes care of messaging with the cloud provider. Cloud Relay works with AWS IoT, Azure IoT, and Google Cloud (GCP) IoT.
8
8
9
9
## Getting Started
10
10
11
-
You must install the Cloud Relay container on your device as well as set up the cloud provider's IoT service. Balena also provides cloud functions for AWSand Google Cloud that expose an HTTP endpoint to initially provision each device. See the _Cloud Provisioning_ section below.
11
+
You must install the Cloud Relay container on your device as well as set up the cloud provider's IoT service. Balena also provides cloud functions for AWS, Azure and GCP that expose an HTTP endpoint to initially provision each device. See the _Cloud Provisioning_ section below.
12
12
13
13
### Device
14
14
We will use the docker-compose [example script](docker-compose.yml), which provides WiFi metrics data. First create a multi-container fleet in balenaCloud and provision a device with balenaOS. See the [online docs](https://www.balena.io/docs/learn/getting-started/raspberrypi3/nodejs/) for details. Next define the fleet variables from the cloud provider's setup, as described in the *Configuration* section below. Finally push the docker-compose script to the balena builders, substituting your fleet's name for `<myFleet>` in the commands below.
@@ -38,6 +38,7 @@ We have developed projects that automate this provisioning, including use of the
| PROVISION_URL | AWS Lambda like<br>`https://xxxxxxxx.execute-api.<region>.amazonaws.com/default/provision`<br><br>GCP Cloud Functions like<br>`https://<region>-<projectID>.cloudfunctions.net/provision`| URL to trigger the provisioning cloud function. See the README for the cloud provisioning projects above for specifics.|
| PROVISION_URL | AWS Lambda like<br>`https://xxxxxxxx.execute-api.<region>.amazonaws.com/default/provision`<br><br>Azure Functions like<br>`https://<function-app>.azurewebsites.net/api/provision`<br><br>GCP Cloud Functions like<br>`https://<region>-<projectID>.cloudfunctions.net/provision`| URL to trigger the provisioning cloud function. See the README for the cloud provisioning projects above for specifics.|
51
52
| PRODUCER_TOPIC| default `sensors`| Message topic from data producer |
52
-
| CLOUD_CONSUMER_TOPIC| AWSdefault `sensors`<br><br>GCP default `events`| Message topic expected by cloud consumer. For GCP, `events` is the default *telemetry* topic. As the docs [describe](https://cloud.google.com/iot/docs/how-tos/mqtt-bridge#publishing_telemetry_events_to_additional_cloud_pubsub_topics), you also may publish to a subfolder like `events/alerts`. |
53
+
| CLOUD_CONSUMER_TOPIC| AWS, Azure default `sensors`<br><br>GCP default `events`| Message topic expected by cloud consumer. For Azure `sensors` is the value for the `topic` entry in the `properties` map.<br><br>For GCP, `events` is the default *telemetry* topic. As the docs [describe](https://cloud.google.com/iot/docs/how-tos/mqtt-bridge#publishing_telemetry_events_to_additional_cloud_pubsub_topics), you also may publish to a subfolder like `events/alerts`. |
53
54
54
55
**AWS** specific variables
55
56
@@ -59,6 +60,14 @@ Environment variables, probably common to all devices so may be defined as balen
59
60
60
61
The provisioning tool generates AWS_CERT and AWS_PRIVATE_KEY.
61
62
63
+
**Azure** specific variables
64
+
65
+
| Name | Value | Notes |
66
+
|-------|-------|-------|
67
+
| AZURE_HUB_HOST | like `<iot-hub-name>.azure-devices.net`| Host name to receive data. See *Overview* for the IoT Hub in the Azure portal. |
68
+
69
+
The provisioning tool generates AZURE_CERT and AZURE_PRIVATE_KEY.
70
+
62
71
**GCP** specific variables
63
72
64
73
No GCP specific variables for configuration. However, the provisioning tool generates GCP_CLIENT_PATH, GCP_DATA_TOPIC_ROOT, GCP_PRIVATE_KEY, and GCP_PROJECT_ID.
0 commit comments