CosmosScripts.ExecuteStoredProcedureStreamAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Exécute une procédure stockée sur un conteneur en tant qu’opération asynchrone dans le service Azure Cosmos et obtient une réponse Stream.
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)
Paramètres
- storedProcedureId
- String
Identificateur de la procédure stockée à exécuter.
- partitionKey
- PartitionKey
Clé de partition de l’élément. PartitionKey
- parameters
- Object[]
(Facultatif) Tableau d’objets dynamiques représentant les paramètres de la procédure stockée.
- requestOptions
- StoredProcedureRequestOptions
(Facultatif) Options de la demande de procédure stockée StoredProcedureRequestOptions
- cancellationToken
- CancellationToken
(Facultatif) CancellationToken représentant l’annulation de la demande.
Retours
Objet de tâche représentant la réponse du service pour l’opération asynchrone qui contiendrait n’importe quel jeu de réponses dans la procédure stockée.
Exceptions
Si storedProcedureId
ou partitionKey
n’est pas défini.
Exemples
Cela crée et exécute une procédure stockée qui ajoute une chaîne au premier élément retourné par la requête.
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);
}
///
S’applique à
Azure SDK for .NET