Вы можете позвонить ExecuteStoredProcedureStreamAsync
. Ссылка: https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/src/Resource/Scripts/Scripts.cs#L434
Это подпись:
public abstract Task<ResponseMessage> ExecuteStoredProcedureStreamAsync(
string storedProcedureId,
PartitionKey partitionKey,
dynamic[] parameters,
StoredProcedureRequestOptions requestOptions = null,
CancellationToken cancellationToken = default(CancellationToken));
Это означает, что она вернет вам ResponseMessage
, с Content
(поток ) вы можете десериализовать как хотите.
Если то, что вы хотите сериализовать, есть другой метод:
public abstract Task<ResponseMessage> ExecuteStoredProcedureStreamAsync(
string storedProcedureId,
Stream streamPayload,
PartitionKey partitionKey,
StoredProcedureRequestOptions requestOptions = null,
CancellationToken cancellationToken = default(CancellationToken));
, где streamPayload
- это Stream
. Пример использования: https://github.com/Azure/azure-cosmos-dotnet-v3/blob/fad3daf789458bc73256d4b26bdd1e4cfc83b2ad/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/StoredProcedureTests.cs#L474
MemoryStream streamPayload = new MemoryStream(Encoding.UTF8.GetBytes(@"[""one"",""two"",""three""]"));
ResponseMessage response = await this.scripts.ExecuteStoredProcedureStreamAsync(
storedProcedureId: sprocId,
streamPayload: streamPayload,
partitionKey: new Cosmos.PartitionKey(testPartitionId),
requestOptions: null,
cancellationToken: default(CancellationToken));