ErB*_*eEn 5 azure azure-resource-manager azure-iot-hub
我即将编写Azure解决方案的部署脚本.出于这个原因,我使用资源管理器模板创建了一个Azure IoTHub.这非常有效.但问题是,我需要与 Event Hub兼容的端点字符串进行进一步部署.
请参阅:https://picload.org/image/rrdopcia/untitled.png
我认为,解决方案是,在模板中输出它,但我不能让它工作.
我的template.json的输出部分实际上如下所示:
"outputs": {
"clusterProperties": {
"value": "[reference(parameters('clusterName'))]",
"type": "object"
},
"iotHubHostName": {
"type": "string",
"value": "[reference(variables('iotHubResourceId')).hostName]"
},
"iotHubConnectionString": {
"type": "string",
"value": "[concat('HostName=', reference(variables('iotHubResourceId')).hostName, ';SharedAccessKeyName=', variables('iotHubKeyName'), ';SharedAccessKey=', listkeys(variables('iotHubKeyResource'), variables('iotHubVersion')).primaryKey)]"
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我使用的变量:
"variables": {
"iotHubVersion": "2016-02-03",
"iotHubResourceId": "[resourceId('Microsoft.Devices/Iothubs', parameters('iothubname'))]",
"iotHubKeyName": "iothubowner",
"iotHubKeyResource": "[resourceId('Microsoft.Devices/Iothubs/Iothubkeys', parameters('iothubname'), variables('iotHubKeyName'))]",
},
Run Code Online (Sandbox Code Playgroud)
您可以从 ARM 模板内配置的 IoT 中心读取端点并构建如下连接字符串:
"EventHubConnectionString": "[concat('Endpoint=',reference(resourceId('Microsoft.Devices/IoTHubs',parameters('iothub_name'))).eventHubEndpoints.events.endpoint,';SharedAccessKeyName=iothubowner;SharedAccessKey=',listKeys(resourceId('Microsoft.Devices/IotHubs',parameters('iothub_name')),variables('devices_provider_apiversion')).value[0].primaryKey)]"
Run Code Online (Sandbox Code Playgroud)
获取与 EventHub 兼容的终结点的重要一点是:resourceId('Microsoft.Devices/IoTHubs',parameters('iothub_name'))).eventHubEndpoints.events.endpoint
这是从我的工作 ARM 模板中删除的。为了清楚起见,以下是有关上述变量/参数的一些详细信息:
帮助我了解在执行 ARM 模板期间可以从资源中读取什么内容的一个有用技巧是输出整个资源,然后找到我感兴趣的属性。以下是我输出 IoT 中心的所有详细信息的方法运行 ARM 模板:
"outputs": {
"iotHub": {
"value": "[reference(resourceId('Microsoft.Devices/IoTHubs',parameters('iothub_name')))]",
"type": "object"
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用此方法输出端点(除其他外)以用作其他模板的输入。
| 归档时间: |
|
| 查看次数: |
1056 次 |
| 最近记录: |