DocumentClient.UpsertTriggerAsync Method

Definition

Overloads

UpsertTriggerAsync(String, Trigger, RequestOptions)

Upserts a trigger as an asychronous operation in the Azure Cosmos DB service.

UpsertTriggerAsync(Uri, Trigger, RequestOptions)

Upserts a trigger as an asychronous operation in the Azure Cosmos DB service.

UpsertTriggerAsync(String, Trigger, RequestOptions)

Upserts a trigger as an asychronous operation in the Azure Cosmos DB service.

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>> UpsertTriggerAsync (string collectionLink, Microsoft.Azure.Documents.Trigger trigger, Microsoft.Azure.Documents.Client.RequestOptions options = null);
abstract member UpsertTriggerAsync : string * Microsoft.Azure.Documents.Trigger * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>>
override this.UpsertTriggerAsync : string * Microsoft.Azure.Documents.Trigger * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>>

Parameters

collectionLink
System.String

The link of the DocumentCollection to upsert the trigger in. E.g. dbs/db_rid/colls/col_rid/

trigger
Trigger

The Trigger object to upsert.

options
RequestOptions

(Optional) Any RequestOptionsfor this request.

Returns

System.Threading.Tasks.Task<ResourceResponse<Trigger>>

A task object representing the service response for the asynchronous operation.

Implements

Exceptions

System.ArgumentNullException

If either collectionLink or trigger is not set.

System.AggregateException

Represents a consolidation of failures that occured during async processing. Look within InnerExceptions to find the actual exception(s)

This exception can encapsulate many different types of errors. To determine the specific error always look at the StatusCode property. Some common codes you may get when creating a Document are:

StatusCodeReason for exception
400BadRequest - This means something was wrong with the request supplied. It is likely that an Id was not supplied for the new trigger or that the Body was malformed.
403Forbidden - You have reached your quota of triggers for the collection supplied. Contact support to have this quota increased.
409Conflict - This means a Trigger with an id matching the id you supplied already existed.
413RequestEntityTooLarge - This means the body of the Trigger you tried to upsert was too large.

Examples

//Upsert a trigger that validates the contents of a document as it is created and adds a 'timestamp' property if one was not found. 
Trigger trig = await client.UpsertTriggerAsync(collectionLink, new Trigger
{
    Id = "ValidateDocuments",
    Body = @"function validate() {
                        var context = getContext();
                        var request = context.getRequest();                                                             
                        var documentToCreate = request.getBody();

                        // validate properties
                        if (!('timestamp' in documentToCreate)) {
                            var ts = new Date();
                            documentToCreate['timestamp'] = ts.getTime();
                        }

                        // update the document that will be created
                        request.setBody(documentToCreate);
                      }",
    TriggerType = TriggerType.Pre,
    TriggerOperation = TriggerOperation.Create
});

See also

Applies to

UpsertTriggerAsync(Uri, Trigger, RequestOptions)

Upserts a trigger as an asychronous operation in the Azure Cosmos DB service.

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>> UpsertTriggerAsync (Uri documentCollectionUri, Microsoft.Azure.Documents.Trigger trigger, Microsoft.Azure.Documents.Client.RequestOptions options = null);
abstract member UpsertTriggerAsync : Uri * Microsoft.Azure.Documents.Trigger * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>>
override this.UpsertTriggerAsync : Uri * Microsoft.Azure.Documents.Trigger * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>>

Parameters

documentCollectionUri
System.Uri

the URI of the document collection to upsert the trigger in.

trigger
Trigger

the Microsoft.Azure.Documents.Trigger object.

options
RequestOptions

The request options for the request.

Returns

System.Threading.Tasks.Task<ResourceResponse<Trigger>>

The task object representing the service response for the asynchronous operation.

Implements

Applies to