# IStreamPubSub.RegisterConsumer(GuidId, QualifiedStreamId, GrainId, string?, CancellationToken)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreampubsub/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreampubsub/methods/)

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Streaming/Providers/IStreamProviderRuntime.cs#L130)

```csharp
public virtual Task RegisterConsumer(GuidId subscriptionId, QualifiedStreamId streamId, GrainId streamConsumer, string? filterData, CancellationToken cancellationToken)
```

Registers a stream consumer.

### Parameters

- `subscriptionId` (`GuidId`): The subscription identifier.
- `streamId` (`QualifiedStreamId`): The stream identifier.
- `streamConsumer` (`GrainId`): The consumer identifier.
- `filterData` (`string?`): The optional filter data.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

A `System.Threading.Tasks.Task` representing the operation.
