Container.ReadManyItemsStreamAsync Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Reads multiple items from a container using Id and PartitionKey values.
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ResponseMessage> ReadManyItemsStreamAsync (System.Collections.Generic.IReadOnlyList<(string id, Microsoft.Azure.Cosmos.PartitionKey partitionKey)> items, Microsoft.Azure.Cosmos.ReadManyRequestOptions readManyRequestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReadManyItemsStreamAsync : System.Collections.Generic.IReadOnlyList<ValueTuple<string, Microsoft.Azure.Cosmos.PartitionKey>> * Microsoft.Azure.Cosmos.ReadManyRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ResponseMessage>
Public MustOverride Function ReadManyItemsStreamAsync (items As IReadOnlyList(Of ValueTuple(Of String, PartitionKey)), Optional readManyRequestOptions As ReadManyRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResponseMessage)
Parameters
- items
- IReadOnlyList<ValueTuple<String,PartitionKey>>
List of item.Id and PartitionKey
- readManyRequestOptions
- ReadManyRequestOptions
Request Options for ReadMany Operation
- cancellationToken
- CancellationToken
(Optional) CancellationToken representing request cancellation.
Returns
A Task containing a ResponseMessage which wraps a Stream containing the response.
Examples
IReadOnlyList<(string, PartitionKey)> itemList = new List<(string, PartitionKey)>
{
("Id1", new PartitionKey("pkValue1")),
("Id2", new PartitionKey("pkValue2")),
("Id3", new PartitionKey("pkValue3"))
};
using (ResponseMessage response = await this.Container.ReadManyItemsStreamAsync(itemList))
{
if (!response.IsSuccessStatusCode)
{
//Handle and log exception
return;
}
//Read or do other operations with the stream
using (StreamReader streamReader = new StreamReader(response.Content))
{
string content = streamReader.ReadToEndAsync();
}
}
Remarks
ReadManyItemsStreamAsync(IReadOnlyList<ValueTuple<String,PartitionKey>>, ReadManyRequestOptions, CancellationToken) is meant to perform better latency-wise than a query with IN statements to fetch a large number of independent items.