Scripts.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.
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 à
Azure SDK for .NET