Azure / Azure/azure-iot-hub-node
[IOT HUB message twin change events routing to Event hub] consumer receives full desired properties on change of a single desired property on cloud
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
- **Package Name**:
**azure/event-hubs**,
- **Package Version**:
**5.9.0**
- **Operating system**:
- [X ] **nodejs**
- **version**:
- [x] **browser**
- **name/version**:
- [x] **typescript**
- **4.9.5**:
- Is the bug related to **documentation** in
- [ ] README.md
- [ ] source code documentation
- [ ] SDK API docs on https://docs.microsoft.com
**Describe the bug**
I have a event hub consumer in typescript with blob check point store. On changing or adding a new property in desired twin from cloud I get the full desired property object on my event hub consumer client.
For example:-
Lets say we add `test` key in desired property from cloud.
```
desired: {
"test":"123", // this is added
"test2": "456"
}
```
The event received on event hub consumer client is as below:-
```
desired: {
"test":"123",
"test2": "456"
}
```
**To Reproduce**
Steps to reproduce the behavior:
1. Subscribe to twin change events from iot hub to event hub endpoint.
2. Change desired property of a device in cloud.
3. Observe full device desired properties event is received on the event hub consumer client.
**Expected behavior**
Only the changed desired property data should be received in the vent hub consumer client event i.e.
```
desired: {
"test":"123",
}
```
Refer issue filled on event hub repo [Here](https://github.com/Azure/azure-sdk-for-js/issues/26063) which guided me to file this issue in this repo.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the reported subscription to IoT Hub twin change events routed to Event Hubs, using the TypeScript consumer and blob checkpoint store described in the issue. Compare an event after adding one desired property with the expected changed-property-only payload; done means confirming whether the full desired object originates in the SDK or the service.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, nodejs, typescript
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100