CosmosScripts.ExecuteStoredProcedureStreamAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa um procedimento armazenado em um contêiner como uma operação assíncrona no serviço do Azure Cosmos e obtém um Stream como resposta.
public abstract System.Threading.Tasks.Task<Azure.Response> ExecuteStoredProcedureStreamAsync (string storedProcedureId, Azure.Cosmos.PartitionKey partitionKey, object[] parameters, Azure.Cosmos.StoredProcedureRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteStoredProcedureStreamAsync : string * Azure.Cosmos.PartitionKey * obj[] * Azure.Cosmos.StoredProcedureRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response>
Public MustOverride Function ExecuteStoredProcedureStreamAsync (storedProcedureId As String, partitionKey As PartitionKey, parameters As Object(), Optional requestOptions As StoredProcedureRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response)
Parâmetros
- storedProcedureId
- String
O identificador do procedimento armazenado a ser executado.
- partitionKey
- PartitionKey
A chave de partição do item. PartitionKey
- parameters
- Object[]
(Opcional) Uma matriz de objetos dinâmicos que representam os parâmetros do procedimento armazenado.
- requestOptions
- StoredProcedureRequestOptions
(Opcional) As opções para a solicitação de procedimento armazenado StoredProcedureRequestOptions
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa o cancelamento da solicitação.
Retornos
O objeto de tarefa que representa a resposta do serviço para a operação assíncrona que conteria qualquer conjunto de respostas no procedimento armazenado.
Exceções
Se storedProcedureId
ou partitionKey
não estiverem definidos.
Exemplos
Isso cria e executa um procedimento armazenado que acrescenta uma cadeia de caracteres ao primeiro item retornado da consulta.
string sprocBody = @"function simple(prefix, postfix)
{
var collection = getContext().getCollection();
// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
collection.getSelfLink(),
'SELECT * FROM root r',
function(err, feed, options) {
if (err)throw err;
// Check the feed and if it's empty, set the body to 'no docs found',
// Otherwise just take 1st element from the feed.
if (!feed || !feed.length) getContext().getResponse().setBody(""no docs found"");
else getContext().getResponse().setBody(prefix + JSON.stringify(feed[0]) + postfix);
});
if (!isAccepted) throw new Error(""The query wasn't accepted by the server. Try again/use continuation token between API and script."");
}";
CosmosScripts scripts = this.container.Scripts;
string sprocId = "appendString";
Response<StoredProcedureProperties> storedProcedureResponse = await scripts.CreateStoredProcedureAsync(
sprocId,
sprocBody);
// Execute the stored procedure
Response sprocResponse = await scripts.ExecuteStoredProcedureStreamAsync(
sprocId,
new PartitionKey(testPartitionId),
new dynamic[] {"myPrefixString", "myPostfixString"});
using (StreamReader sr = new StreamReader(sprocResponse.ContentStream))
{
string stringResponse = await sr.ReadToEndAsync();
Console.WriteLine(stringResponse);
}
///
Aplica-se a
Azure SDK for .NET