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 96 97 98 99 100 101 102 103 104 105
|
# pylint: disable=line-too-long,useless-suppression
# 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) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.deviceregistry import DeviceRegistryMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-deviceregistry
# USAGE
python create_asset_with_external_asset_id.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 = DeviceRegistryMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.assets.begin_create_or_replace(
resource_group_name="myResourceGroup",
asset_name="my-asset",
resource={
"extendedLocation": {
"name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1",
"type": "CustomLocation",
},
"location": "West Europe",
"properties": {
"assetEndpointProfileRef": "myAssetEndpointProfile",
"datasets": [
{
"dataPoints": [
{
"dataPointConfiguration": '{"publishingInterval":8,"samplingInterval":8,"queueSize":4}',
"dataSource": "nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt1",
"name": "dataPoint1",
"observabilityMode": "Counter",
},
{
"dataPointConfiguration": '{"publishingInterval":4,"samplingInterval":4,"queueSize":7}',
"dataSource": "nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt2",
"name": "dataPoint2",
"observabilityMode": "None",
},
],
"datasetConfiguration": '{"publishingInterval":10,"samplingInterval":15,"queueSize":20}',
"name": "dataset1",
"topic": {"path": "/path/dataset1", "retain": "Keep"},
}
],
"defaultDatasetsConfiguration": '{"publishingInterval":10,"samplingInterval":15,"queueSize":20}',
"defaultEventsConfiguration": '{"publishingInterval":10,"samplingInterval":15,"queueSize":20}',
"defaultTopic": {"path": "/path/defaultTopic", "retain": "Keep"},
"description": "This is a sample Asset",
"displayName": "AssetDisplayName",
"documentationUri": "https://www.example.com/manual",
"enabled": True,
"events": [
{
"eventConfiguration": '{"publishingInterval":7,"samplingInterval":1,"queueSize":8}',
"eventNotifier": "nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt3",
"name": "event1",
"observabilityMode": "None",
"topic": {"path": "/path/event1", "retain": "Keep"},
},
{
"eventConfiguration": '{"publishingInterval":7,"samplingInterval":8,"queueSize":4}',
"eventNotifier": "nsu=http://microsoft.com/Opc/OpcPlc/;s=FastUInt4",
"name": "event2",
"observabilityMode": "Log",
},
],
"externalAssetId": "8ZBA6LRHU0A458969",
"hardwareRevision": "1.0",
"manufacturer": "Contoso",
"manufacturerUri": "https://www.contoso.com/manufacturerUri",
"model": "ContosoModel",
"productCode": "SA34VDG",
"serialNumber": "64-103816-519918-8",
"softwareRevision": "2.0",
},
"tags": {"site": "building-1"},
},
).result()
print(response)
# x-ms-original-file: 2024-11-01/Create_Asset_With_ExternalAssetId.json
if __name__ == "__main__":
main()
|