1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.iothub import IotHubClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-iothub
# USAGE
python iothub_create_or_update.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = IotHubClient(
credential=DefaultAzureCredential(),
subscription_id="91d12660-3dec-467a-be2a-213b5544ddc0",
)
response = client.iot_hub_resource.begin_create_or_update(
resource_group_name="myResourceGroup",
resource_name="testHub",
iot_hub_description={
"etag": "AAAAAAFD6M4=",
"location": "centraluseuap",
"properties": {
"cloudToDevice": {
"defaultTtlAsIso8601": "PT1H",
"feedback": {"lockDurationAsIso8601": "PT1M", "maxDeliveryCount": 10, "ttlAsIso8601": "PT1H"},
"maxDeliveryCount": 10,
},
"enableDataResidency": False,
"enableFileUploadNotifications": False,
"eventHubEndpoints": {"events": {"partitionCount": 2, "retentionTimeInDays": 1}},
"features": "None",
"ipFilterRules": [],
"messagingEndpoints": {
"fileNotifications": {
"lockDurationAsIso8601": "PT1M",
"maxDeliveryCount": 10,
"ttlAsIso8601": "PT1H",
}
},
"minTlsVersion": "1.2",
"networkRuleSets": {
"applyToBuiltInEventHubEndpoint": True,
"defaultAction": "Deny",
"ipRules": [
{"action": "Allow", "filterName": "rule1", "ipMask": "131.117.159.53"},
{"action": "Allow", "filterName": "rule2", "ipMask": "157.55.59.128/25"},
],
},
"routing": {
"endpoints": {
"eventHubs": [],
"serviceBusQueues": [],
"serviceBusTopics": [],
"storageContainers": [],
},
"fallbackRoute": {
"condition": "true",
"endpointNames": ["events"],
"isEnabled": True,
"name": "$fallback",
"source": "DeviceMessages",
},
"routes": [],
},
"storageEndpoints": {
"$default": {"connectionString": "", "containerName": "", "sasTtlAsIso8601": "PT1H"}
},
},
"sku": {"capacity": 1, "name": "S1"},
"tags": {},
},
).result()
print(response)
# x-ms-original-file: specification/iothub/resource-manager/Microsoft.Devices/stable/2023-06-30/examples/iothub_createOrUpdate.json
if __name__ == "__main__":
main()
|