Scripts.CreateTriggerAsync 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.
Crée un déclencheur en tant qu’opération asynchrone dans le service Azure Cosmos DB.
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.Scripts.TriggerResponse> CreateTriggerAsync (Microsoft.Azure.Cosmos.Scripts.TriggerProperties triggerProperties, Microsoft.Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateTriggerAsync : Microsoft.Azure.Cosmos.Scripts.TriggerProperties * Microsoft.Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.Scripts.TriggerResponse>
Public MustOverride Function CreateTriggerAsync (triggerProperties As TriggerProperties, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TriggerResponse)
Paramètres
- triggerProperties
- TriggerProperties
Objet TriggerProperties.
- requestOptions
- RequestOptions
(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 du service pour l’opération asynchrone.
Exceptions
Si triggerProperties
n’est pas défini.
Représente une consolidation des échecs qui se sont produits pendant le traitement asynchrone. Recherchez la ou les exceptions réelles dans InnerExceptions
Cette exception peut encapsuler de nombreux types d’erreurs différents. Pour déterminer l’erreur spécifique, examinez toujours la propriété StatusCode. Voici quelques codes courants que vous pouvez obtenir lors de la création d’un document :
StatusCode | Raison de l’exception |
---|---|
400 | BadRequest : cela signifie qu’un problème s’est produit avec la demande fournie. Il est probable qu’un ID n’a pas été fourni pour le nouveau déclencheur ou que le corps a été mal formé. |
403 | Interdit : vous avez atteint votre quota de déclencheurs pour la collection fournie. Contactez le support technique pour augmenter ce quota. |
409 | Conflit : cela signifie qu’un TriggerProperties avec un ID correspondant à l’ID que vous avez fourni existait déjà. |
413 | RequestEntityTooLarge : cela signifie que le corps du que TriggerProperties vous avez tenté de créer était trop grand. |
Exemples
Cela crée un déclencheur, puis utilise le déclencheur dans un élément de création.
Scripts scripts = this.container.Scripts;
TriggerResponse triggerResponse = await scripts.CreateTriggerAsync(
new TriggerProperties
{
Id = "addTax",
Body = @"function AddTax() {
var item = getContext().getRequest().getBody();
// calculate the tax.
item.tax = item.cost * .15;
// Update the request -- this is what is going to be inserted.
getContext().getRequest().setBody(item);
}",
TriggerOperation = TriggerOperation.All,
TriggerType = TriggerType.Pre
});
ItemRequestOptions options = new ItemRequestOptions()
{
PreTriggers = new List<string>() { triggerResponse.Id },
};
// Create a new item with trigger set in the request options
ItemResponse<dynamic> createdItem = await this.container.Items.CreateItemAsync<dynamic>(item.status, item, options);
double itemTax = createdItem.Resource.tax;
S’applique à
Azure SDK for .NET