Partager via


Scripts.ExecuteStoredProcedureStreamAsync Méthode

Définition

Surcharges

ExecuteStoredProcedureStreamAsync(String, PartitionKey, Object[], StoredProcedureRequestOptions, CancellationToken)

Exécute une procédure stockée sur un conteneur en tant qu’opération asynchrone dans le service Azure Cosmos et obtient un flux en tant que réponse.

ExecuteStoredProcedureStreamAsync(String, Stream, PartitionKey, StoredProcedureRequestOptions, CancellationToken)

Exécute une procédure stockée sur un conteneur en tant qu’opération asynchrone dans le service Azure Cosmos et obtient un flux en tant que réponse.

ExecuteStoredProcedureStreamAsync(String, PartitionKey, Object[], StoredProcedureRequestOptions, CancellationToken)

Source:
Scripts.cs

Exécute une procédure stockée sur un conteneur en tant qu’opération asynchrone dans le service Azure Cosmos et obtient un flux en tant que réponse.

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ResponseMessage> ExecuteStoredProcedureStreamAsync (string storedProcedureId, Microsoft.Azure.Cosmos.PartitionKey partitionKey, object[] parameters, Microsoft.Azure.Cosmos.Scripts.StoredProcedureRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteStoredProcedureStreamAsync : string * Microsoft.Azure.Cosmos.PartitionKey * obj[] * Microsoft.Azure.Cosmos.Scripts.StoredProcedureRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ResponseMessage>
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 ResponseMessage)

Paramètres

storedProcedureId
String

Identificateur de la procédure stockée à exécuter.

partitionKey
PartitionKey

Clé de partition de l’élément.

parameters
Object[]

Tableau d’objets dynamiques représentant les paramètres de la procédure stockée. Cette valeur peut être null si aucun paramètre n’est requis.

requestOptions
StoredProcedureRequestOptions

(Facultatif) Options de la demande de procédure stockée.

cancellationToken
CancellationToken

(Facultatif) CancellationToken représentant l’annulation de la demande.

Retours

Objet de tâche représentant la réponse de 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."");
   }";

Scripts scripts = this.container.Scripts;
string sprocId = "appendString";
StoredProcedureResponse storedProcedureResponse = await scripts.CreateStoredProcedureAsync(
        sprocId,
        sprocBody);

// Execute the stored procedure
ResponseMessage sprocResponse = await scripts.ExecuteStoredProcedureStreamAsync(
                        sprocId,
                        new PartitionKey(testPartitionId),
                        new dynamic[] {"myPrefixString", "myPostfixString"});

using (StreamReader sr = new StreamReader(sprocResponse.Content))
{
    string stringResponse = await sr.ReadToEndAsync();
    Console.WriteLine(stringResponse);
 }

/// 

S’applique à

ExecuteStoredProcedureStreamAsync(String, Stream, PartitionKey, StoredProcedureRequestOptions, CancellationToken)

Source:
Scripts.cs

Exécute une procédure stockée sur un conteneur en tant qu’opération asynchrone dans le service Azure Cosmos et obtient un flux en tant que réponse.

public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ResponseMessage> ExecuteStoredProcedureStreamAsync (string storedProcedureId, System.IO.Stream streamPayload, Microsoft.Azure.Cosmos.PartitionKey partitionKey, Microsoft.Azure.Cosmos.Scripts.StoredProcedureRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteStoredProcedureStreamAsync : string * System.IO.Stream * Microsoft.Azure.Cosmos.PartitionKey * Microsoft.Azure.Cosmos.Scripts.StoredProcedureRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ResponseMessage>
Public MustOverride Function ExecuteStoredProcedureStreamAsync (storedProcedureId As String, streamPayload As Stream, partitionKey As PartitionKey, Optional requestOptions As StoredProcedureRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResponseMessage)

Paramètres

storedProcedureId
String

Identificateur de la procédure stockée à exécuter.

streamPayload
Stream

Stream contenant la charge utile qui doit représenter un tableau JSON ou un objet de type tableau de paramètres. Cette opération est analysée à l’aide de JSON.parse et Function.apply utilise le résultat pour appeler la procédure stockée. Cette valeur peut être null si aucun paramètre n’est requis.

partitionKey
PartitionKey

Clé de partition de l’élément.

requestOptions
StoredProcedureRequestOptions

(Facultatif) Options de la demande de procédure stockée.

cancellationToken
CancellationToken

(Facultatif) CancellationToken représentant l’annulation de la demande.

Retours

Objet de tâche représentant la réponse de service pour l’opération asynchrone qui contiendrait n’importe quel jeu de réponses dans la procédure stockée. La réponse contient status code (400) BadRequest si streamPayload représente autre chose qu’un tableau JSON, un objet ou une valeur Null.

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."");
   }";

Scripts scripts = this.container.Scripts;
string sprocId = "appendString";
StoredProcedureResponse storedProcedureResponse = await scripts.CreateStoredProcedureAsync(
        sprocId,
        sprocBody);

// Serialize the parameters into a stream
string[] parameters = new string[] { "myPrefixString", "myPostfixString" };
byte[] serializedBytes = JsonSerializer.SerializeToUtf8Bytes(parameters);
MemoryStream streamPayload = new MemoryStream(serializedBytes);

// Execute the stored procedure
ResponseMessage sprocResponse = await scripts.ExecuteStoredProcedureStreamAsync(
                        sprocId,
                        streamPayload,
                        new PartitionKey(testPartitionId));

using (StreamReader sr = new StreamReader(sprocResponse.Content))
{
    string stringResponse = await sr.ReadToEndAsync();
    Console.WriteLine(stringResponse);
 }

/// 

S’applique à