Eventhub Binary message not respect

Open
#644 0 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

Assessment

This issue has not been assessed yet.

Description

area:java-functions Bug reviewed

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

example:

    @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

Python script for sending binary message to eventhub

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())
Dominant language
Java
Stars
103
Forks
74
Avg merge
1d 11h
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Azure/azure-functions-java-worker

All issues in Azure/azure-functions-java-worker

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.