# EventHubDataAdapter Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/)

## FromQueueMessage(StreamPosition, EventData, DateTime, Func&lt;int, ArraySegment&lt;byte&gt;&gt;) {#fromqueuemessage-orleans-streams-streamposition-azure-messaging-eventhubs-eventd-a8577bd7}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/fromqueuemessage-orleans-streams-streamposition-azure-messaging-eventhubs-eventd-a8577bd7/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L64-L72)

```csharp
public virtual CachedMessage FromQueueMessage(StreamPosition streamPosition, EventData queueMessage, DateTime dequeueTime, Func<int, ArraySegment<byte>> getSegment)
```

### Parameters

- `streamPosition` (`StreamPosition`)
- `queueMessage` (`EventData`)
- `dequeueTime` (`DateTime`)
- `getSegment` (`Func<int, ArraySegment<byte>>`)

## GetBatchContainer(CachedMessage) {#getbatchcontainer-ref-orleans-providers-streams-common-cachedmessage-3f60472c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/getbatchcontainer-ref-orleans-providers-streams-common-cachedmessage-3f60472c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L32-L33)

```csharp
public virtual IBatchContainer GetBatchContainer(ref CachedMessage cachedMessage)
```

Converts a cached message to a batch container for delivery

### Parameters

- `cachedMessage` (`CachedMessage`)

## GetOffset(CachedMessage) {#getoffset-orleans-providers-streams-common-cachedmessage-b95b37fb}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/getoffset-orleans-providers-streams-common-cachedmessage-b95b37fb/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L89-L90)

```csharp
public virtual string GetOffset(CachedMessage lastItemPurged)
```

Get offset from cached message. Left to derived class, as only it knows how to get this from the cached message.

### Parameters

- `lastItemPurged` (`CachedMessage`)

## GetPartitionKey(StreamId) {#getpartitionkey-orleans-runtime-streamid-414bf1ee}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/getpartitionkey-orleans-runtime-streamid-414bf1ee/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L98)

```csharp
public virtual string GetPartitionKey(StreamId streamId)
```

Get the Event Hub partition key to use for a stream.

### Parameters

- `streamId` (`StreamId`): The stream Guid.

### Returns

The partition key to use for the stream.

## GetSequenceToken(CachedMessage) {#getsequencetoken-ref-orleans-providers-streams-common-cachedmessage-ca40482b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/getsequencetoken-ref-orleans-providers-streams-common-cachedmessage-ca40482b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L53)

```csharp
public virtual StreamSequenceToken GetSequenceToken(ref CachedMessage cachedMessage)
```

Gets the stream sequence token from a cached message.

### Parameters

- `cachedMessage` (`CachedMessage`)

## GetStreamIdentity(EventData) {#getstreamidentity-azure-messaging-eventhubs-eventdata-0edd6ee3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/getstreamidentity-azure-messaging-eventhubs-eventdata-0edd6ee3/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L107-L109)

```csharp
public virtual StreamId GetStreamIdentity(EventData queueMessage)
```

Get the [IStreamIdentity](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamidentity/) for an event message.

### Parameters

- `queueMessage` (`EventData`): The event message.

### Returns

The stream identity.

## GetStreamPosition(string, EventData) {#getstreamposition-string-azure-messaging-eventhubs-eventdata-5e650845}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/getstreamposition-string-azure-messaging-eventhubs-eventdata-5e650845/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L77-L80)

```csharp
public virtual StreamPosition GetStreamPosition(string partition, EventData queueMessage)
```

### Parameters

- `partition` (`string`)
- `queueMessage` (`EventData`)

## ToQueueMessage(StreamId, IEnumerable&lt;T&gt;, StreamSequenceToken, Dictionary&lt;string, object&gt;) {#toqueuemessage-1-orleans-runtime-streamid-system-collections-generic-ienumerable-02117f74}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubdataadapter/methods/toqueuemessage-1-orleans-runtime-streamid-system-collections-generic-ienumerable-02117f74/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubDataAdapter.cs#L58-L59)

```csharp
public virtual EventData ToQueueMessage<T>(StreamId streamId, IEnumerable<T> events, StreamSequenceToken token, Dictionary<string, object> requestContext)
```

Creates a cloud queue message from stream event data.

### Parameters

- `streamId` (`StreamId`): The stream identifier.
- `events` (`IEnumerable<T>`): The events.
- `token` (`StreamSequenceToken`): The token.
- `requestContext` (`Dictionary<string, object>`): The request context.

### Returns

A new queue message.
