Skip to content

Commit aa029e0

Browse files
committed
Add feedback
1 parent 3f1b715 commit aa029e0

File tree

3 files changed

+19
-19
lines changed

3 files changed

+19
-19
lines changed

articles/iot-operations/connect-to-cloud/concept-dataflow-language.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: PatAltimore
55
ms.author: patricka
66
ms.subservice: azure-mqtt-broker
77
ms.topic: concept-article
8-
ms.date: 07/23/2024
8+
ms.date: 07/25/2024
99

1010
#CustomerIntent: As an operator, I want to understand how to use the dataflow mapping language to transform data.
1111
---
@@ -430,8 +430,8 @@ Now, consider a scenario where a specific field needs a different calculation:
430430

431431
In this case, the `Opacity` field has a unique calculation. Two options to handle this overlapping scenario are:
432432

433-
1. Include both mappings for `Opacity`. Since the output fields are different in this example, they wouldn't override each other.
434-
2. Use the more specific rule for `Opacity` and remove the more generic one.
433+
- Include both mappings for `Opacity`. Since the output fields are different in this example, they wouldn't override each other.
434+
- Use the more specific rule for `Opacity` and remove the more generic one.
435435

436436
Consider a special case for the same fields to help deciding the right action:
437437

@@ -462,7 +462,7 @@ For example, the mapping that directs `Opacity.Max` and `Opacity.Min` to an empt
462462

463463
### Wildcards in contextualization datasets
464464

465-
While a detailed explanation of Contextualization Datasets will follow later, let's see now how they can be used with wildcards through an example. Consider a dataset named `position` that contains the following record:
465+
While a detailed explanation of contextualization datasets is explained later, let's see now how they can be used with wildcards through an example. Consider a dataset named `position` that contains the following record:
466466

467467
```json
468468
{
@@ -516,10 +516,10 @@ When discussing conversions, several aspects need to be clarified:
516516

517517
* **Reference to Input Fields**: Understanding how to correctly reference values from input fields in the conversion formula.
518518
* **Available Operations**: Identifying which operations (such as addition, subtraction, multiplication, and division) can be utilized in conversions.
519-
* **Data Types**: The types of data (e.g., integer, floating-point, string) that the formula can process and manipulate.
519+
* **Data Types**: The types of data (for example, integer, floating-point, string) that the formula can process and manipulate.
520520
* **Type Conversions**: How data types are converted between the input field values, the formula evaluation, and the output fields.
521521

522-
This section will explore each of these aspects.
522+
This section explores each of these aspects.
523523

524524
## Reference to input fields
525525

@@ -535,11 +535,11 @@ In conversions, formulas can operate on static values (For example, a number lik
535535
conversion: ($1, $2, $3, $4)
536536
```
537537

538-
In this example, the conversion results in an array containing the values of `[Max, Min, Mid.Avg, Mid.Mean]`. Comments in the YAML file (e.g., `# - $1`, `# - $2`) are optional but help clarify the connection between each field property and its role in the conversion formula.
538+
In this example, the conversion results in an array containing the values of `[Max, Min, Mid.Avg, Mid.Mean]`. Comments in the YAML file (for example, `# - $1`, `# - $2`) are optional but help clarify the connection between each field property and its role in the conversion formula.
539539

540540
## Available operations
541541

542-
Conversions use simple math formulas similar to those learned in middle school. Basic operators such as addition (`+`) and multiplication (`*`) are included, each following specific rules of precedence (e.g., `*` is performed before `+`), which can be modified using parentheses.
542+
Conversions use simple math formulas similar to those learned in middle school. Basic operators such as addition (`+`) and multiplication (`*`) are included, each following specific rules of precedence (for example, `*` is performed before `+`), which can be modified using parentheses.
543543

544544
For more complex calculations, functions like `sqrt` (which finds the square root of a number) are also available.
545545

@@ -652,7 +652,7 @@ The mapper is designed to be flexible, converting internal types into output typ
652652

653653
### Explicit type conversions
654654

655-
While the automatic conversions generally operate as one might expect, based on common implementation practices, there are instances where the right conversion cannot be determined automatically, resulting in an `unsupported` error. To address these situations, several conversion functions are available to explicitly define how data should be transformed. These functions provide more control over how data is converted and ensure that data integrity is maintained even when automatic methods fall short.
655+
While the automatic conversions generally operate as one might expect, based on common implementation practices, there are instances where the right conversion can't be determined automatically, resulting in an `unsupported` error. To address these situations, several conversion functions are available to explicitly define how data should be transformed. These functions provide more control over how data is converted and ensure that data integrity is maintained even when automatic methods fall short.
656656

657657
<!-- We don't have functions, need a list of what they usually want -->
658658

@@ -669,9 +669,9 @@ If a formula is specified, the data types available for use in formulas are limi
669669
* Arrays of the above types
670670
* Missing value
671671

672-
`Map` and `Byte` cannot participate in formulas in any way.
672+
`Map` and `Byte` can't participate in formulas in any way.
673673

674-
Types related to time (`date time`, `time`, and `duration`) are converted into integer values representing time in seconds. After formula evaluation, results are stored in the internal representation and not converted back; for example, a datetime converted to seconds remains an integer. If the value is to be used in date-time fields, an explicit conversion method must applied, for example, to convert the value into an ISO8601 string, which will then automatically converted to the date-time type of the output serialization format. **[FIXME as of today, no such functions are available]**
674+
Types related to time (`date time`, `time`, and `duration`) are converted into integer values representing time in seconds. After formula evaluation, results are stored in the internal representation and not converted back. For example, a *datetime* converted to seconds remains an integer. If the value is to be used in date-time fields, an explicit conversion method must be applied. For example, converting the value into an ISO8601 string that is automatically converted to the date-time type of the output serialization format.
675675

676676
### Using irregular types
677677

@@ -698,7 +698,7 @@ With the mapping:
698698

699699
This configuration selects the smallest value from the `Measurements` array for the output field.
700700

701-
It is also possible to use functions that result a new array: **[FIXME: this is not available today]**
701+
It's also possible to use functions that result a new array:
702702

703703
```yaml
704704
- inputs:
@@ -826,9 +826,9 @@ This is how the dataset is used, when a new record is being processed:
826826

827827
In this example the `WorkingHours` field is added to the output record, while the `BaseSalary` is used conditionally: only when the incoming record doesn't contain `BaseSalary` field (or the value is `null` in case of nullable a field)
828828

829-
Note, that the request for the contextualization data does not happen with every incoming record: the mapper requests the dataset at the beginning and then it receives notifications from DSS about the changes, while it uses a cached version of the dataset.
829+
Note, that the request for the contextualization data doesn't happen with every incoming record: the mapper requests the dataset at the beginning and then it receives notifications from DSS about the changes, while it uses a cached version of the dataset.
830830

831-
It is possible to use multiple datasets:
831+
It's possible to use multiple datasets:
832832

833833
```yaml
834834
enrich:
@@ -839,7 +839,7 @@ enrich:
839839
condition: $source.Position == $context.Position
840840
```
841841

842-
and then use the references mixed:
842+
Then use the references mixed:
843843

844844
```yaml
845845
- inputs:

articles/iot-operations/connect-to-cloud/howto-create-dataflow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: PatAltimore
55
ms.author: patricka
66
ms.subservice: azure-mqtt-broker
77
ms.topic: conceptual
8-
ms.date: 07/22/2024
8+
ms.date: 07/25/2024
99

1010
#CustomerIntent: As an operator, I want to understand how to create a dataflow to connect data sources.
1111
---
@@ -384,7 +384,7 @@ You can also use user properties.
384384

385385
If the user property isn't present in the source data, the part of the path referencing the user property is empty. For example, if the user property `customer` isn't present in the source data, the output path is `factory/` .
386386

387-
If you specified a *enrich* stage during transformation, you can use the enriched data in the output path.
387+
If you specified an *enrich* stage during transformation, you can use the enriched data in the output path.
388388

389389
```yaml
390390
spec:

articles/iot-operations/connect-to-cloud/overview-dataflow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: What are dataflows
2+
title: What are dataflows?
33
description: What are dataflows in Azure IoT Operations?
44
author: PatAltimore
55
ms.author: patricka
66
ms.subservice: azure-mqtt-broker
77
ms.topic: conceptual
8-
ms.date: 07/02/2024
8+
ms.date: 07/25/2024
99

1010
#CustomerIntent: As an operator, I want to understand how to I can use dataflows connect data sources.
1111
---

0 commit comments

Comments
 (0)