Dataflow - Create Or Update
Создание ресурса потока данных
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/dataflowProfiles/{dataflowProfileName}/dataflows/{dataflowName}?api-version=2026-03-01
Параметры URI
| Имя | В | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
dataflow
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$ |
Имя ресурса потока данных instance dataflowProfile |
|
dataflow
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$ |
Имя ресурса dataflowProfile экземпляра |
|
instance
|
path | True |
string minLength: 3maxLength: 63 pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$ |
Имя экземпляра. |
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
Имя группы ресурсов. Имя не зависит от регистра. |
|
subscription
|
path | True |
string (uuid) |
Идентификатор целевой подписки. Значение должно быть Универсальным Уникальным Идентификатором (UUID). |
|
api-version
|
query | True |
string minLength: 1 |
Версия API, используемая для данной операции. |
Текст запроса
| Имя | Тип | Описание |
|---|---|---|
| extendedLocation |
Пограничное расположение ресурса. |
|
| properties |
Свойства, относящиеся к ресурсу, для этого ресурса. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK |
Операция обновления ресурса 'DataflowResource' выполнена успешно |
|
| 201 Created |
Операция по созданию ресурса 'DataflowResource' выполнена успешно Заголовки
|
|
| Other Status Codes |
Непредвиденное сообщение об ошибке. |
Безопасность
azure_auth
Поток OAuth2 в Azure Active Directory.
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
| Имя | Описание |
|---|---|
| user_impersonation | олицетворения учетной записи пользователя |
Примеры
Dataflow_CreateOrUpdate
Образец запроса
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123?api-version=2026-03-01
{
"properties": {
"mode": "Enabled",
"requestDiskPersistence": "Disabled",
"operations": [
{
"operationType": "Source",
"name": "knnafvkwoeakm",
"sourceSettings": {
"endpointRef": "iixotodhvhkkfcfyrkoveslqig",
"assetRef": "zayyykwmckaocywdkohmu",
"serializationFormat": "Json",
"schemaRef": "pknmdzqll",
"dataSources": [
"chkkpymxhp"
]
},
"builtInTransformationSettings": {
"serializationFormat": "Delta",
"schemaRef": "mcdc",
"datasets": [
{
"key": "qsfqcgxaxnhfumrsdsokwyv",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"schemaRef": "n",
"inputs": [
"mosffpsslifkq"
],
"expression": "aatbwomvflemsxialv"
}
],
"filter": [
{
"type": "Filter",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"inputs": [
"sxmjkbntgb"
],
"expression": "n"
}
],
"map": [
{
"type": "NewProperties",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"inputs": [
"xsbxuk"
],
"expression": "txoiltogsarwkzalsphvlmt",
"output": "nvgtmkfl"
}
]
},
"destinationSettings": {
"endpointRef": "kybkchnzimerguekuvqlqiqdvvrt",
"dataDestination": "cbrh"
}
}
]
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
}
}
Пример ответа
{
"properties": {
"mode": "Enabled",
"requestDiskPersistence": "Disabled",
"operations": [
{
"operationType": "Source",
"name": "knnafvkwoeakm",
"sourceSettings": {
"endpointRef": "iixotodhvhkkfcfyrkoveslqig",
"assetRef": "zayyykwmckaocywdkohmu",
"serializationFormat": "Json",
"schemaRef": "pknmdzqll",
"dataSources": [
"chkkpymxhp"
]
},
"builtInTransformationSettings": {
"serializationFormat": "Delta",
"schemaRef": "mcdc",
"datasets": [
{
"key": "qsfqcgxaxnhfumrsdsokwyv",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"schemaRef": "n",
"inputs": [
"mosffpsslifkq"
],
"expression": "aatbwomvflemsxialv"
}
],
"filter": [
{
"type": "Filter",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"inputs": [
"sxmjkbntgb"
],
"expression": "n"
}
],
"map": [
{
"type": "NewProperties",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"inputs": [
"xsbxuk"
],
"expression": "txoiltogsarwkzalsphvlmt",
"output": "nvgtmkfl"
}
]
},
"destinationSettings": {
"endpointRef": "kybkchnzimerguekuvqlqiqdvvrt",
"dataDestination": "cbrh"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"mode": "Enabled",
"requestDiskPersistence": "Disabled",
"operations": [
{
"operationType": "Source",
"name": "knnafvkwoeakm",
"sourceSettings": {
"endpointRef": "iixotodhvhkkfcfyrkoveslqig",
"assetRef": "zayyykwmckaocywdkohmu",
"serializationFormat": "Json",
"schemaRef": "pknmdzqll",
"dataSources": [
"chkkpymxhp"
]
},
"builtInTransformationSettings": {
"serializationFormat": "Delta",
"schemaRef": "mcdc",
"datasets": [
{
"key": "qsfqcgxaxnhfumrsdsokwyv",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"schemaRef": "n",
"inputs": [
"mosffpsslifkq"
],
"expression": "aatbwomvflemsxialv"
}
],
"filter": [
{
"type": "Filter",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"inputs": [
"sxmjkbntgb"
],
"expression": "n"
}
],
"map": [
{
"type": "NewProperties",
"description": "Lorem ipsum odor amet, consectetuer adipiscing elit.",
"inputs": [
"xsbxuk"
],
"expression": "txoiltogsarwkzalsphvlmt",
"output": "nvgtmkfl"
}
]
},
"destinationSettings": {
"endpointRef": "kybkchnzimerguekuvqlqiqdvvrt",
"dataDestination": "cbrh"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Dataflow_CreateOrUpdate_ComplexContextualization
Образец запроса
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/aio-to-adx-contexualized?api-version=2026-03-01
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"map": [
{
"inputs": [
"*"
],
"output": "*"
},
{
"inputs": [
"$context(quality).*"
],
"output": "enriched.*"
}
],
"datasets": [
{
"key": "quality",
"inputs": [
"$source.country",
"$context.country"
],
"expression": "$1 == $2"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "adx-endpoint",
"dataDestination": "mytable"
}
}
]
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
}
}
Пример ответа
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"map": [
{
"inputs": [
"*"
],
"output": "*"
},
{
"inputs": [
"$context(quality).*"
],
"output": "enriched.*"
}
],
"datasets": [
{
"key": "quality",
"inputs": [
"$source.country",
"$context.country"
],
"expression": "$1 == $2"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "adx-endpoint",
"dataDestination": "mytable"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"map": [
{
"inputs": [
"*"
],
"output": "*"
},
{
"inputs": [
"$context(quality).*"
],
"output": "enriched.*"
}
],
"datasets": [
{
"key": "quality",
"inputs": [
"$source.country",
"$context.country"
],
"expression": "$1 == $2"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "adx-endpoint",
"dataDestination": "mytable"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Dataflow_CreateOrUpdate_ComplexEventHub
Образец запроса
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/aio-to-event-hub-transformed?api-version=2026-03-01
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"filter": [
{
"inputs": [
"temperature.Value",
"\"Tag 10\".Value"
],
"expression": "$1 > 9000 && $2 >= 8000"
}
],
"map": [
{
"inputs": [
"*"
],
"output": "*"
},
{
"inputs": [
"temperature.Value",
"\"Tag 10\".Value"
],
"expression": "($1+$2)/2",
"output": "AvgTemp.Value"
},
{
"inputs": [],
"expression": "true",
"output": "dataflow-processed"
},
{
"inputs": [
"temperature.SourceTimestamp"
],
"expression": "",
"output": ""
},
{
"inputs": [
"\"Tag 10\""
],
"expression": "",
"output": "pressure"
},
{
"inputs": [
"temperature.Value"
],
"expression": "cToF($1)",
"output": "temperatureF.Value"
},
{
"inputs": [
"\"Tag 10\".Value"
],
"expression": "scale ($1,0,10,0,100)",
"output": "\"Scale Tag 10\".Value"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "event-hub-endpoint",
"dataDestination": "myuniqueeventhub"
}
}
]
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
}
}
Пример ответа
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"map": [
{
"inputs": [
"*"
],
"output": "*"
},
{
"inputs": [
"$context(quality).*"
],
"output": "enriched.*"
}
],
"datasets": [
{
"key": "quality",
"inputs": [
"$source.country",
"$context.country"
],
"expression": "$1 == $2"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "adx-endpoint",
"dataDestination": "mytable"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"map": [
{
"inputs": [
"*"
],
"output": "*"
},
{
"inputs": [
"$context(quality).*"
],
"output": "enriched.*"
}
],
"datasets": [
{
"key": "quality",
"inputs": [
"$source.country",
"$context.country"
],
"expression": "$1 == $2"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "adx-endpoint",
"dataDestination": "mytable"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Dataflow_CreateOrUpdate_FilterToTopic
Образец запроса
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/mqtt-filter-to-topic?api-version=2026-03-01
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"filter": [
{
"type": "Filter",
"description": "filter-datapoint",
"inputs": [
"temperature.Value",
"\"Tag 10\".Value"
],
"expression": "$1 > 9000 && $2 >= 8000"
}
],
"map": [
{
"type": "PassThrough",
"inputs": [
"*"
],
"output": "*"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataDestination": "data/filtered/thermostat"
}
}
]
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
}
}
Пример ответа
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"filter": [
{
"type": "Filter",
"description": "filter-datapoint",
"inputs": [
"temperature.Value",
"\"Tag 10\".Value"
],
"expression": "$1 > 9000 && $2 >= 8000"
}
],
"map": [
{
"type": "PassThrough",
"inputs": [
"*"
],
"output": "*"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataDestination": "data/filtered/thermostat"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"name": "transformation1",
"builtInTransformationSettings": {
"filter": [
{
"type": "Filter",
"description": "filter-datapoint",
"inputs": [
"temperature.Value",
"\"Tag 10\".Value"
],
"expression": "$1 > 9000 && $2 >= 8000"
}
],
"map": [
{
"type": "PassThrough",
"inputs": [
"*"
],
"output": "*"
}
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataDestination": "data/filtered/thermostat"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Dataflow_CreateOrUpdate_SimpleEventGrid
Образец запроса
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/aio-to-event-grid?api-version=2026-03-01
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"thermostats/+/telemetry/temperature/#"
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "event-grid-endpoint",
"dataDestination": "factory/telemetry"
}
}
]
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
}
}
Пример ответа
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"thermostats/+/telemetry/temperature/#"
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "event-grid-endpoint",
"dataDestination": "factory/telemetry"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"thermostats/+/telemetry/temperature/#"
]
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "event-grid-endpoint",
"dataDestination": "factory/telemetry"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Dataflow_CreateOrUpdate_SimpleFabric
Образец запроса
PUT https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/aio-to-fabric?api-version=2026-03-01
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"serializationFormat": "Parquet",
"schemaRef": "aio-sr://exampleNamespace/exmapleParquetSchema:1.0.0"
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "fabric-endpoint",
"dataDestination": "telemetryTable"
}
}
]
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
}
}
Пример ответа
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"serializationFormat": "Parquet",
"schemaRef": "aio-sr://exampleNamespace/exmapleParquetSchema:1.0.0"
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "fabric-endpoint",
"dataDestination": "telemetryTable"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Azure-AsyncOperation: https://contoso.com/operationstatus
{
"properties": {
"mode": "Enabled",
"operations": [
{
"operationType": "Source",
"name": "source1",
"sourceSettings": {
"endpointRef": "aio-builtin-broker-endpoint",
"dataSources": [
"azure-iot-operations/data/thermostat"
]
}
},
{
"operationType": "BuiltInTransformation",
"builtInTransformationSettings": {
"serializationFormat": "Parquet",
"schemaRef": "aio-sr://exampleNamespace/exmapleParquetSchema:1.0.0"
}
},
{
"operationType": "Destination",
"name": "destination1",
"destinationSettings": {
"endpointRef": "fabric-endpoint",
"dataDestination": "telemetryTable"
}
}
],
"provisioningState": "Succeeded"
},
"extendedLocation": {
"name": "/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.ExtendedLocation/customLocations/resource-123",
"type": "CustomLocation"
},
"id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/dataflowProfiles/resource-name123/dataflows/resource-name123",
"name": "jxhcpwgfkxqasbexkookvxk",
"type": "Microsoft.IoTOperations/instances/dataflowProfiles/dataflows",
"systemData": {
"createdBy": "contosouser",
"createdByType": "User",
"createdAt": "2024-08-09T18:13:29.389Z",
"lastModifiedBy": "contosouser",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-08-09T18:13:29.389Z"
}
}
Определения
| Имя | Описание |
|---|---|
|
created |
Тип удостоверения, создавшего ресурс. |
|
Dataflow |
Свойства набора данных BuiltIn Transform потока данных |
|
Dataflow |
Свойства фильтра встроенного преобразования потока данных |
|
Dataflow |
Свойства карты преобразования "Встроенный поток данных" |
|
Dataflow |
Свойства встроенного преобразования потока данных |
|
Dataflow |
Dataflow Destination Добавить, если нет присутствующих свойств HeaderAction |
|
Dataflow |
Назначение потока данных Добавить или заменить свойства HeaderAction |
|
Dataflow |
Свойства операции назначения потока данных |
|
Dataflow |
Свойства Dataflow Destination Remove HeaderAction |
|
Dataflow |
Типы действий заголовка назначения потока данных |
|
Dataflow |
Свойства сопоставления типов потока данных |
|
Dataflow |
Свойства операции потока данных. ПРИМЕЧАНИЕ - Для одной заявки разрешается использовать только один метод. |
|
Dataflow |
Свойства ресурса потока данных |
|
Dataflow |
Экземпляр ресурса потока данных dataflowProfile |
|
Dataflow |
Свойства исходной операции потока данных |
|
Dataflow |
Статус статуса потока данных. |
|
Error |
Дополнительные сведения об ошибке управления ресурсами. |
|
Error |
Сведения об ошибке. |
|
Error |
Ответ на ошибку |
|
Extended |
Расширенное расположение — это расширение расположений Azure. Они позволяют использовать кластеры Kubernetes с поддержкой Azure ARC в качестве целевых расположений для развертывания экземпляров служб Azure. |
|
Extended |
Тип перечисления, определяющий ExtendedLocation, принимается. |
|
Filter |
Свойства типа фильтра |
|
Operational |
Свойства режима |
|
Operation |
Свойства типа операции потока данных |
|
Provisioning |
Перечисление, определяющее состояние ресурса. |
|
Resource |
Состояние работоспособности ресурса. |
|
Resource |
Отражает состояние здоровья ресурса. |
|
Source |
Свойства формата сериализации |
|
system |
Метаданные, относящиеся к созданию и последнему изменении ресурса. |
|
Transformation |
Свойства формата преобразования |
createdByType
Тип удостоверения, создавшего ресурс.
| Значение | Описание |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
DataflowBuiltInTransformationDataset
Свойства набора данных BuiltIn Transform потока данных
| Имя | Тип | Описание |
|---|---|---|
| description |
string maxLength: 256 |
Пользователь предоставил необязательное описание набора данных. |
| expression |
string |
Условие для обогащения данных из хранилища состояний брокера. Пример: $1 < 0 || $1 > $ 2 (предполагается, что входные данные раздела $1 и $2 предоставляются) |
| inputs |
string[] |
Список полей для обогащения из хранилища состояний брокера. |
| key |
string maxLength: 64 |
Ключ набора данных. |
| schemaRef |
string |
Ссылка на схему, описывающую набор данных. Разрешено: схема JSON/черновик-7. |
DataflowBuiltInTransformationFilter
Свойства фильтра встроенного преобразования потока данных
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| description |
string maxLength: 256 |
Пользователь предоставил необязательное описание фильтра. |
|
| expression |
string |
Условие фильтрации данных. Может ссылаться на поля ввода с помощью {n}, где n является индексом поля ввода начиная с 1. Пример: $1 < 0 || $1 > $ 2 (предполагается, что входные данные раздела $1 и $2 предоставляются) |
|
| inputs |
string[] |
Список полей для фильтрации в выражении пути JSON. |
|
| type | Filter |
Тип операции потока данных. |
DataflowBuiltInTransformationMap
Свойства карты преобразования "Встроенный поток данных"
| Имя | Тип | Описание |
|---|---|---|
| description |
string maxLength: 256 |
Пользователь предоставил необязательное описание функции сопоставления. |
| expression |
string |
Измените поля входных данных в конечное поле вывода. Пример: $ 1 * 2,2 (предполагается, что входные данные раздела $1 предоставляются) |
| inputs |
string[] |
Список полей для сопоставления в выражении пути JSON. |
| output |
string |
Где и как можно упорядочить входные поля в выходной записи. |
| type |
Тип преобразования. |
DataflowBuiltInTransformationSettings
Свойства встроенного преобразования потока данных
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| datasets |
Обогащение данных из хранилища состояний брокера. Набор данных ссылается на ключ в Хранилище состояний брокера. |
||
| filter |
Фильтрует входную запись или точки данных на основе условия. |
||
| map |
Сопоставляет входные данные с выходным сообщением. |
||
| schemaRef |
string |
Ссылка на схему, описывающую выходные данные преобразования. |
|
| serializationFormat | Json |
Формат сериализации. Необязательный; значение по умолчанию — JSON. Разрешенное значение JSON Schema/draft-7, Parquet. По умолчанию: Json |
DataflowDestinationAddIfNotPresentHeaderAction
Dataflow Destination Добавить, если нет присутствующих свойств HeaderAction
| Имя | Тип | Описание |
|---|---|---|
| actionType |
string:
Add |
Тип выполняемой операции заголовка. |
| key |
string |
Имя добавляемого заголовка. |
| value |
string |
Значение добавляемого заголовка. |
DataflowDestinationAddOrReplaceHeaderAction
Назначение потока данных Добавить или заменить свойства HeaderAction
| Имя | Тип | Описание |
|---|---|---|
| actionType |
string:
Add |
Тип выполняемой операции заголовка. |
| key |
string |
Имя заголовка, который нужно добавить или заменить. |
| value |
string |
Значение заголовка, которое нужно добавить или заменить. |
DataflowDestinationOperationSettings
Свойства операции назначения потока данных
| Имя | Тип | Описание |
|---|---|---|
| dataDestination |
string minLength: 1 |
Расположение назначения может быть разделом или именем таблицы. Поддерживает динамические значения с $topic, $systemProperties, $userProperties, $payload, $context и $subscription. |
| endpointRef |
string |
Ссылка на конечную точку CR. Может иметь тип Broker, Kafka, Fabric, ADLS, ADX. |
| headers | DataflowDestinationHeaderAction[]: |
Заголовки для выходных данных. |
DataflowDestinationRemoveHeaderAction
Свойства Dataflow Destination Remove HeaderAction
| Имя | Тип | Описание |
|---|---|---|
| actionType |
string:
Remove |
Тип выполняемой операции заголовка. |
| key |
string |
Имя удаляемого заголовка. |
DataflowHeaderActionType
Типы действий заголовка назначения потока данных
| Значение | Описание |
|---|---|
| AddIfNotPresent |
Добавить, если нет присутствующего типа |
| Remove |
Удалить тип |
| AddOrReplace |
Добавить или заменить тип |
DataflowMappingType
Свойства сопоставления типов потока данных
| Значение | Описание |
|---|---|
| NewProperties |
Новый тип свойств |
| Rename |
Тип переименования |
| Compute |
Тип вычисления |
| PassThrough |
Сквозной тип |
| BuiltInFunction |
Встроенный тип функции |
DataflowOperation
Свойства операции потока данных. ПРИМЕЧАНИЕ - Для одной заявки разрешается использовать только один метод.
| Имя | Тип | Описание |
|---|---|---|
| builtInTransformationSettings |
Встроенная конфигурация преобразования. |
|
| destinationSettings |
Конфигурация назначения. |
|
| name |
string maxLength: 64 |
Необязательный пользователь предоставил имя преобразования. |
| operationType |
Тип операции. |
|
| sourceSettings |
Конфигурация исходного кода. |
DataflowProperties
Свойства ресурса потока данных
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| healthState | Unknown |
Состояние работоспособности ресурса. |
|
| mode | Enabled |
Режим потока данных. Необязательный; значение по умолчанию включено. |
|
| operations |
Список операций, включая ссылки на источник и назначение, а также преобразование. |
||
| provisioningState |
Состояние последней операции. |
||
| requestDiskPersistence |
Режим сохранения диска. |
||
| status |
Статус потока данных. |
DataflowResource
Экземпляр ресурса потока данных dataflowProfile
| Имя | Тип | Описание |
|---|---|---|
| extendedLocation |
Пограничное расположение ресурса. |
|
| id |
string (arm-id) |
Полный идентификатор ресурса для ресурса. Например, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| name |
string |
Имя ресурса |
| properties |
Свойства, относящиеся к ресурсу, для этого ресурса. |
|
| systemData |
Метаданные Azure Resource Manager, содержащие данные createdBy и modifiedBy. |
|
| type |
string |
Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts" |
DataflowSourceOperationSettings
Свойства исходной операции потока данных
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| assetRef |
string |
Ссылка на ресурс в реестре устройств Azure, из которого исходят данные в конечной точке. |
|
| dataSources |
string[] minLength: 1 |
Список исходных расположений. Может быть брокером или разделами Kafka. Поддерживает подстановочные знаки # и +. |
|
| endpointRef |
string |
Ссылка на ресурс конечной точки потока данных. Может быть только тип Broker и Kafka. |
|
| schemaRef |
string |
Справочник по схеме CR. Данные будут десериализированы в соответствии со схемой и удалены, если они не совпадают. |
|
| serializationFormat | Json |
Содержимое — это схема JSON. Разрешено: схема JSON/черновик-7. |
DataflowStatus
Статус статуса потока данных.
| Имя | Тип | Описание |
|---|---|---|
| healthState |
Состояние здоровья потока данных. |
ErrorAdditionalInfo
Дополнительные сведения об ошибке управления ресурсами.
| Имя | Тип | Описание |
|---|---|---|
| info |
object |
Дополнительная информация. |
| type |
string |
Тип дополнительной информации. |
ErrorDetail
Сведения об ошибке.
| Имя | Тип | Описание |
|---|---|---|
| additionalInfo |
Ошибка дополнительная информация. |
|
| code |
string |
Код ошибки. |
| details |
Сведения об ошибке. |
|
| message |
string |
Сообщение об ошибке. |
| target |
string |
Цель ошибки. |
ErrorResponse
Ответ на ошибку
| Имя | Тип | Описание |
|---|---|---|
| error |
Объект ошибки. |
ExtendedLocation
Расширенное расположение — это расширение расположений Azure. Они позволяют использовать кластеры Kubernetes с поддержкой Azure ARC в качестве целевых расположений для развертывания экземпляров служб Azure.
| Имя | Тип | Описание |
|---|---|---|
| name |
string |
Имя расширенного расположения. |
| type |
Тип ExtendedLocation. |
ExtendedLocationType
Тип перечисления, определяющий ExtendedLocation, принимается.
| Значение | Описание |
|---|---|
| CustomLocation |
Тип CustomLocation |
FilterType
Свойства типа фильтра
| Значение | Описание |
|---|---|
| Filter |
Тип фильтра |
OperationalMode
Свойства режима
| Значение | Описание |
|---|---|
| Enabled |
Enabled эквивалентно True |
| Disabled |
Disabled эквивалентно False. |
OperationType
Свойства типа операции потока данных
| Значение | Описание |
|---|---|
| Source |
Операция источника потока данных |
| Destination |
Операция назначения потока данных |
| BuiltInTransformation |
Встроенная операция преобразования потока данных |
ProvisioningState
Перечисление, определяющее состояние ресурса.
| Значение | Описание |
|---|---|
| Succeeded |
Ресурс создан. |
| Failed |
Не удалось создать ресурс. |
| Canceled |
Создание ресурсов было отменено. |
| Provisioning |
Ресурс инициализируется. |
| Updating |
Ресурс обновляется. |
| Deleting |
Ресурс удаляется. |
| Accepted |
Ресурс принят. |
ResourceHealthState
Состояние работоспособности ресурса.
| Значение | Описание |
|---|---|
| Available |
Ресурс доступен и функционирует как ожидается. |
| Degraded |
Работоспособность ресурсов ухудшается. |
| Unavailable |
Ресурс не функционирует должным образом. |
| Unknown |
Состояние ресурса неизвестно. |
ResourceHealthStatus
Отражает состояние здоровья ресурса.
| Имя | Тип | Описание |
|---|---|---|
| lastTransitionTime |
string |
Временная метка (RFC3339), когда последний раз менялся состояние здоровья. |
| lastUpdateTime |
string |
Временная метка (RFC3339) с момента последнего обновления состояния здоровья, даже если статус не изменился. |
| message |
string |
Читаемое человеком сообщение, описывающее последний переход. |
| reasonCode |
string |
Уникальный код причины CamelCase, описывающий причину последнего перехода состояния здоровья. |
| status |
Высокий уровень здоровья ресурса. |
SourceSerializationFormat
Свойства формата сериализации
| Значение | Описание |
|---|---|
| Json |
Формат JSON |
systemData
Метаданные, относящиеся к созданию и последнему изменении ресурса.
| Имя | Тип | Описание |
|---|---|---|
| createdAt |
string (date-time) |
Метка времени создания ресурса (UTC). |
| createdBy |
string |
Удостоверение, создающее ресурс. |
| createdByType |
Тип удостоверения, создавшего ресурс. |
|
| lastModifiedAt |
string (date-time) |
Временная метка последнего изменения ресурса (UTC) |
| lastModifiedBy |
string |
Идентификатор, который последний раз изменил ресурс. |
| lastModifiedByType |
Тип удостоверения, который последний раз изменил ресурс. |
TransformationSerializationFormat
Свойства формата преобразования
| Значение | Описание |
|---|---|
| Delta |
Формат «Дельта» |
| Json |
Формат JSON |
| Parquet |
Формат паркета |