Azure / Azure/azure-functions-java-worker

Eventhub Binary message not respect

Open
#644 0 comments 0 reactions 1 assignee Assigned to @kamperiadis View on GitHub
area:java-functions Bug reviewed
Dominant language
Java
Stars
103
Forks
74
Avg merge
4d 8h
Merged PRs (30d)
2

Description

When eventhub send binary message, java function app is getting garbled string message

example:
```java
@FunctionName("eventhuexampleCx")
public void eventHubProcessorCx(
@EventHubTrigger(name = "pnrTrigger", eventHubName = "cri-319862312", consumerGroup = "test", connection = "EventHubConnectionAppSetting", cardinality = Cardinality.ONE) String paxHubMsgs,
final ExecutionContext context) {

Logger logger = context.getLogger();
logger.info("***************" + (paxHubMsgs));
byte[] bytes = paxHubMsgs.getBytes();
String message = new String(bytes, StandardCharsets.UTF_16);
logger.info(message);
}
```
![image](https://user-images.githubusercontent.com/89094811/189433744-17129287-01df-47bc-9e2e-23c98d8dc0fa.png)

Python script for sending binary message to eventhub
```python
import asyncio
import struct
from azure.eventhub.aio import EventHubProducerClient
from azure.eventhub import EventData

async def run():
# Create a producer client to send messages to the event hub.
# Specify a connection string to your event hubs namespace and
# the event hub name.
producer = EventHubProducerClient.from_connection_string(conn_str="your-event-hub-connection-string", eventhub_name="cri-319862312")
async with producer:
# Create a batch.
event_data_batch = await producer.create_batch()
bin_data = struct.pack('200B', *range(200))
bin_data = b'\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b'

# Add events to the batch.
event_data_batch.add(EventData(bin_data))

# Send the batch of events to the event hub.
await producer.send_batch(event_data_batch)

loop = asyncio.get_event_loop()
loop.run_until_complete(run())
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.