public override Task <TriggerResponse> ReplaceTriggerAsync( CosmosTriggerSettings triggerSettings, RequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken)) { if (triggerSettings == null) { throw new ArgumentNullException(nameof(triggerSettings)); } if (string.IsNullOrEmpty(triggerSettings.Id)) { throw new ArgumentNullException(nameof(triggerSettings.Id)); } if (string.IsNullOrEmpty(triggerSettings.Body)) { throw new ArgumentNullException(nameof(triggerSettings.Body)); } return(this.ProcessTriggerOperationAsync( id: triggerSettings.Id, operationType: OperationType.Replace, streamPayload: CosmosResource.ToStream(triggerSettings), requestOptions: requestOptions, cancellationToken: cancellationToken)); }
/// <summary> /// Replaces a <see cref="CosmosTriggerSettings"/> in the Azure Cosmos service as an asynchronous operation. /// </summary> /// <param name="triggerSettings">The <see cref="CosmosTriggerSettings"/> object.</param> /// <param name="requestOptions">(Optional) The options for the trigger request <see cref="RequestOptions"/></param> /// <param name="cancellationToken">(Optional) <see cref="CancellationToken"/> representing request cancellation.</param> /// <returns> /// A <see cref="Task"/> containing a <see cref="TriggerResponse"/> which wraps a <see cref="CosmosTriggerSettings"/> containing the updated resource record. /// </returns> /// <exception cref="ArgumentNullException">If <paramref name="triggerSettings"/> is not set.</exception> /// <example> /// This examples replaces an existing trigger. /// <code language="c#"> /// <![CDATA[ /// //Updated settings /// CosmosTriggerSettings settings = new CosmosTriggerSettings /// { /// Id = "testTriggerId", /// Body = @"function AddTax() { /// var item = getContext().getRequest().getBody(); /// /// // Validate/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.Post /// }; /// /// CosmosScripts scripts = this.container.GetScripts(); /// TriggerResponse response = await scripts.ReplaceTriggerAsync(CosmosTriggerSettings); /// ]]> /// </code> /// </example> public abstract Task <TriggerResponse> ReplaceTriggerAsync( CosmosTriggerSettings triggerSettings, RequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken));