Scripts.CreateTriggerAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt einen Trigger als asynchronen Vorgang im Azure Cosmos DB-Dienst.
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)
Parameter
- triggerProperties
- TriggerProperties
Das TriggerProperties-Objekt.
- requestOptions
- RequestOptions
(Optional) Die Optionen für die Anforderung einer gespeicherten Prozedur.
- cancellationToken
- CancellationToken
(Optional) CancellationToken stellt den Anforderungsabbruch dar.
Gibt zurück
Ein Taskobjekt, das die Dienstantwort für den asynchronen Vorgang darstellt.
Ausnahmen
Wenn triggerProperties
nicht festgelegt ist.
Stellt eine Konsolidierung von Fehlern dar, die während der asynchronen Verarbeitung aufgetreten sind. Suchen Sie in InnerExceptions nach den tatsächlichen Ausnahmen.
Diese Ausnahme kann viele verschiedene Fehlertypen kapseln. Um den spezifischen Fehler zu ermitteln, sehen Sie sich immer die StatusCode-Eigenschaft an. Einige häufige Codes, die Sie beim Erstellen eines Dokuments erhalten können, sind:
StatusCode | Grund für die Ausnahme |
---|---|
400 | BadRequest: Dies bedeutet, dass mit der bereitgestellten Anforderung ein Fehler aufgetreten ist. Es ist wahrscheinlich, dass für den neuen Trigger keine ID angegeben wurde oder dass der Textkörper falsch formatiert wurde. |
403 | Verboten: Sie haben ihr Kontingent an Triggern für die angegebene Sammlung erreicht. Wenden Sie sich an den Support, um dieses Kontingent zu erhöhen. |
409 | Konflikt: Dies bedeutet, dass ein TriggerProperties mit einer ID übereinstimmt, die der von Ihnen angegebenen ID entspricht, bereits vorhanden ist. |
413 | RequestEntityTooLarge: Dies bedeutet, dass der Textkörper des TriggerProperties zu erstellenden zu groß war. |
Beispiele
Dadurch wird ein Trigger erstellt und dann der Trigger in einem Erstellungselement verwendet.
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;
Gilt für:
Azure SDK for .NET