你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IDocumentClient.CreateTriggerAsync 方法

定义

重载

CreateTriggerAsync(String, Trigger, RequestOptions)

在 Azure Cosmos DB 服务中创建触发器作为异步操作。

CreateTriggerAsync(Uri, Trigger, RequestOptions)

在 Azure Cosmos DB 服务中创建触发器作为异步操作。

CreateTriggerAsync(String, Trigger, RequestOptions)

在 Azure Cosmos DB 服务中创建触发器作为异步操作。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>> CreateTriggerAsync (string collectionLink, Microsoft.Azure.Documents.Trigger trigger, Microsoft.Azure.Documents.Client.RequestOptions options = default);
abstract member CreateTriggerAsync : string * Microsoft.Azure.Documents.Trigger * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>>
Public Function CreateTriggerAsync (collectionLink As String, trigger As Trigger, Optional options As RequestOptions = Nothing) As Task(Of ResourceResponse(Of Trigger))

参数

collectionLink
String

DocumentCollection要创建触发器的 的链接。 例如 dbs/db_rid/colls/col_rid/

trigger
Trigger

Trigger 创建的对象。

options
RequestOptions

(此请求的可选) Any RequestOptions

返回

表示异步操作的服务响应的任务对象。

例外

collectionLink如果未设置 或 trigger

表示异步处理期间发生的故障的合并。 在 InnerExceptions 中查找实际异常 ()

此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建文档时可能会获取的一些常见代码包括:

StatusCode异常原因
400BadRequest - 这意味着所提供的请求出错。 可能是没有为新触发器提供 ID,或者正文格式不正确。
403禁止 - 已达到提供的集合的触发器配额。 请联系支持人员以增加此配额。
409冲突 - 这意味着 , Trigger 其 ID 与所提供的 ID 匹配。
413RequestEntityTooLarge - 这意味着尝试创建的 主体 Trigger 太大。

示例

//Create 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.CreateTriggerAsync(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
});

另请参阅

适用于

CreateTriggerAsync(Uri, Trigger, RequestOptions)

在 Azure Cosmos DB 服务中创建触发器作为异步操作。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>> CreateTriggerAsync (Uri documentCollectionUri, Microsoft.Azure.Documents.Trigger trigger, Microsoft.Azure.Documents.Client.RequestOptions options = default);
abstract member CreateTriggerAsync : Uri * Microsoft.Azure.Documents.Trigger * Microsoft.Azure.Documents.Client.RequestOptions -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Trigger>>
Public Function CreateTriggerAsync (documentCollectionUri As Uri, trigger As Trigger, Optional options As RequestOptions = Nothing) As Task(Of ResourceResponse(Of Trigger))

参数

documentCollectionUri
Uri

要创建触发器的文档集合的 URI。

trigger
Trigger

Trigger 对象。

options
RequestOptions

(可选的) RequestOptions 请求的 。

返回

表示异步操作的服务响应的任务对象。

适用于