Tetikleyiciyi değiştirmeReplace a Trigger

Belirli bir tetikleyici kaynağında PUT işleminin gerçekleştirilmesi, tüm tetikleyici kaynağının yerini alır.Performing a PUT operation on a specific trigger resource replaces the entire trigger resource. KIMLIĞI, gövdesi, triggerOperation ve triggerType dahil olmak üzere tüm kullanıcı ayarlanabilir özellikler, değişikliği gerçekleştirmek için gövdede gönderilmesi gerekir.All user settable properties, including the ID, the body, the triggerOperation, and the triggerType, must be submitted in the body to perform the replacement.

İstekRequest

YöntemMethod İstek URI'siRequest URI DescriptionDescription
PUTPUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/triggers/{trigger-name} {Databaseaccount}, aboneliğiniz altında oluşturulan Azure Cosmos DB hesabının adıdır.The {databaseaccount} is the name of the Azure Cosmos DB account created under your subscription. {DB-id} değeri, tetikleyicinin değiştirildiği veritabanının sistem tarafından oluşturulan KIMLIĞI (RID) değil, kullanıcının oluşturduğu ad/kimlik değeridir.The {db-id} value is the user generated name/id of the database where the trigger is replaced, not the system generated ID (rid) of the database. {Coll-id} değeri, tetikleyicinin değiştirildiği koleksiyonun adıdır.The {coll-id} value is the name of the collection where the trigger is replaced. {Trigger-Name} değeri, değiştirilmekte olan tetikleyicinin adıdır.The {trigger-name} value is the name of the trigger to be replaced.

Üst BilgilerHeaders

Tüm Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. ortak Azure Cosmos DB Rest istek üst bilgileri .See Common Azure Cosmos DB REST request headers for headers that are used by all Cosmos DB requests.

GövdeBody

ÖzellikProperty GerekliRequired TürType DescriptionDescription
idid GerekliRequired DizeString Tetikleyiciyi tanımlamak için kullanılan benzersiz addır.It is the unique name used to identify the trigger. Kimliğin 255 karakteri aşmaması gerekir.The ID must not exceed 255 characters.
bölümübody GerekliRequired DizeString Bu, tetikleyicinin gövdesidir.It is the body of the trigger.
triggerOperationtriggerOperation GerekliRequired DizeString Bu, tetikleyiciyi çağıran işlem türüdür.It is the type of operation that invokes the trigger. Kabul edilebilir değerler şunlardır: All, Insert, Replaceve Delete.The acceptable values are: All, Insert, Replace, and Delete.
triggerTypetriggerType GerekliRequired DizeString Tetikleyicinin ne zaman harekete geçirildiğinde belirtir.It specifies when the trigger is fired. Kabul edilebilir değerler şunlardır: ön ve gönderi.The acceptable values are: Pre and Post. Bir işlemden sonra tetiklenen bir işlemden önce ön Tetikleyiciler tetiklenir.Pre triggers fire before an operation while Post triggers after an operation.
{  
    "body": "function updateMetadata() {\r\n    var context = getContext();\r\n    var collection = context.getCollection();\r\n    var response = context.getResponse();\r\n    var createdDocument = response.getBody();\r\n\r\n    // query for metadata document\r\n    var filterQuery = 'SELECT * FROM root r WHERE r.id = \"_metadata\"';\r\n    var accept = collection.queryDocuments(collection.getSelfLink(), filterQuery,\r\n      updateMetadataCallback);\r\n    if(!accept) throw \"Unable to update metadata, abort\";\r\n\r\n    function updateMetadataCallback(err, documents, responseOptions) {\r\n      if(err) throw new Error(\"Error\" + err.message);\r\n           if(documents.length != 1) throw 'Unable to find metadata document';\r\n           var metadataDocument = documents[0];\r\n\r\n           // update metadata\r\n           metadataDocument.createdDocuments += 1;\r\n           metadataDocument.createdNames += \" \" + createdDocument.id;\r\n           var accept = collection.replaceDocument(metadataDocument._self,\r\n               metadataDocument, function(err, docReplaced) {\r\n                  if(err) throw \"Unable to update metadata, abort\";\r\n               });\r\n           if(!accept) throw \"Unable to update metadata, abort\";\r\n           return;          \r\n    }",  
    "id": "PostTrigger-UpdateMetaAll",  
    "triggerOperation": "All",  
    "triggerType": "Post"  
}  
  

YanıtResponse

Üst BilgilerHeaders

Tüm Cosmos DB yanıtları tarafından döndürülen üst bilgiler için bkz. ortak Azure Cosmos DB Rest yanıt üst bilgileri .See Common Azure Cosmos DB REST response headers for headers that are returned by all Cosmos DB responses.

Durum kodlarıStatus codes

Aşağıdaki tabloda, bu işlemin döndürdüğü yaygın durum kodları listelenmektedir.The following table lists common status codes returned by this operation. Durum kodlarının tam listesi için bkz. http durum kodları.For a full list of status codes, see HTTP Status Codes.

HTTP durum koduHTTP status code AçıklamaDescription
200 Tamam200 Ok Değiştirme işlemi başarılı oldu.The replace operation was successful.
400 Hatalı İstek400 Bad Request JSON gövdesi geçersiz.The JSON body is invalid. Eksik süslü ayraçları veya tırnakları denetleyin.Check for missing curly brackets or quotes.
404 Bulunamadı404 Not Found Değiştirilmekte olan tetikleyici artık bir kaynak değil, diğer bir deyişle tetikleyici silindi.The trigger to be replaced is no longer a resource, that is, the trigger was deleted.
409 Çakışma409 Conflict Tetikleyici için belirtilen KIMLIK, var olan bir tetikleyici tarafından alındı.The ID provided for the trigger has been taken by an existing trigger.

GövdeBody

ÖzellikProperty AçıklamaDescription
_rid_rid Sistem tarafından oluşturulan bir özelliktir.It is a system generated property. Kaynak KIMLIĞI (_rid), kaynak modelindeki kaynak yığınına göre de hiyerarşik olan benzersiz bir tanımlayıcıdır.The resource ID (_rid) is a unique identifier that is also hierarchical per the resource stack on the resource model. Tetikleyici kaynağının yerleştirilmesi ve gezinmesi için dahili olarak kullanılır.It is used internally for placement and navigation of the trigger resource.
_ts_ts Sistem tarafından oluşturulan bir özelliktir.It is a system generated property. Kaynağın son güncelleştirilme zaman damgasını belirtir.It specifies the last updated timestamp of the resource. Değer bir zaman damgası.The value is a timestamp.
_self_self Sistem tarafından oluşturulan bir özelliktir.It is a system generated property. Bu, kaynak için benzersiz olarak adreslenebilir URI 'dir.It is the uniquely addressable URI for the resource.
_etag_etag İyimser eşzamanlılık denetimi için gereken kaynak ETag 'i belirten bir sistem tarafından oluşturulan özelliktir.It is a system generated property that specifies the resource etag required for optimistic concurrency control.
{  
    "body": "function updateMetadata() {\r\n    var context = getContext();\r\n    var collection = context.getCollection();\r\n    var response = context.getResponse();\r\n    var createdDocument = response.getBody();\r\n\r\n    // query for metadata document\r\n    var filterQuery = 'SELECT * FROM root r WHERE r.id = \"_metadata\"';\r\n    var accept = collection.queryDocuments(collection.getSelfLink(), filterQuery,\r\n      updateMetadataCallback);\r\n    if(!accept) throw \"Unable to update metadata, abort\";\r\n\r\n    function updateMetadataCallback(err, documents, responseOptions) {\r\n      if(err) throw new Error(\"Error\" + err.message);\r\n           if(documents.length != 1) throw 'Unable to find metadata document';\r\n           var metadataDocument = documents[0];\r\n\r\n           // update metadata\r\n           metadataDocument.createdDocuments += 1;\r\n           metadataDocument.createdNames += \" \" + createdDocument.id;\r\n           var accept = collection.replaceDocument(metadataDocument._self,\r\n               metadataDocument, function(err, docReplaced) {\r\n                  if(err) throw \"Unable to update metadata, abort\";\r\n               });\r\n           if(!accept) throw \"Unable to update metadata, abort\";\r\n           return;          \r\n    }",  
    "id": "PostTrigger-UpdateMetaAll",  
    "triggerOperation": "All",  
    "triggerType": "Post",  
    "_rid": "Sl8fALN4sw4BAAAAAAAAcA==",  
    "_ts": 1449689654,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/triggers\/Sl8fALN4sw4BAAAAAAAAcA==\/",  
    "_etag": "\"060022e5-0000-0000-0000-566882360000\""  
}  
  

ÖrnekExample

PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/triggers/PostTrigger-UpdateMetaAll HTTP/1.1  
x-ms-session-token: 42  
x-ms-date: Wed, 09 Dec 2015 19:34:14 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dZyzGdsA62guUndVJ4UOhLYaGcoszBFqlYOyXYFpuBwI%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Cookie: x-ms-session-token=42  
Content-Length: 1556  
Expect: 100-continue  
  
{  
    "body": "function updateMetadata() {\r\n    var context = getContext();\r\n    var collection = context.getCollection();\r\n    var response = context.getResponse();\r\n    var createdDocument = response.getBody();\r\n\r\n    // query for metadata document\r\n    var filterQuery = 'SELECT * FROM root r WHERE r.id = \"_metadata\"';\r\n    var accept = collection.queryDocuments(collection.getSelfLink(), filterQuery,\r\n      updateMetadataCallback);\r\n    if(!accept) throw \"Unable to update metadata, abort\";\r\n\r\n    function updateMetadataCallback(err, documents, responseOptions) {\r\n      if(err) throw new Error(\"Error\" + err.message);\r\n           if(documents.length != 1) throw 'Unable to find metadata document';\r\n           var metadataDocument = documents[0];\r\n\r\n           // update metadata\r\n           metadataDocument.createdDocuments += 1;\r\n           metadataDocument.createdNames += \" \" + createdDocument.id;\r\n           var accept = collection.replaceDocument(metadataDocument._self,\r\n               metadataDocument, function(err, docReplaced) {\r\n                  if(err) throw \"Unable to update metadata, abort\";\r\n               });\r\n           if(!accept) throw \"Unable to update metadata, abort\";\r\n           return;          \r\n    }",  
    "id": "PostTrigger-UpdateMetaAll",  
    "triggerOperation": "All",  
    "triggerType": "Post"  
}  
  
HTTP/1.1 200 Ok  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/triggers/PostTrigger-UpdateMetaAll  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT  
etag: "060022e5-0000-0000-0000-566882360000"  
x-ms-resource-quota: triggers=25;  
x-ms-resource-usage: triggers=1;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1  
x-ms-content-path: Sl8fALN4sw4=  
x-ms-quorum-acked-lsn: 42  
x-ms-session-token: 43  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 12.57  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: 614411ac-2abb-4770-a1f9-3533d7339ec6  
Set-Cookie: x-ms-session-token=43; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1  
x-ms-gatewayversion: version=1.5.57.3  
Date: Wed, 09 Dec 2015 19:34:15 GMT  
Content-Length: 1565  
  
{  
    "body": "function updateMetadata() {\r\n    var context = getContext();\r\n    var collection = context.getCollection();\r\n    var response = context.getResponse();\r\n    var createdDocument = response.getBody();\r\n\r\n    // query for metadata document\r\n    var filterQuery = 'SELECT * FROM root r WHERE r.id = \"_metadata\"';\r\n    var accept = collection.queryDocuments(collection.getSelfLink(), filterQuery,\r\n      updateMetadataCallback);\r\n    if(!accept) throw \"Unable to update metadata, abort\";\r\n\r\n    function updateMetadataCallback(err, documents, responseOptions) {\r\n      if(err) throw new Error(\"Error\" + err.message);\r\n           if(documents.length != 1) throw 'Unable to find metadata document';\r\n           var metadataDocument = documents[0];\r\n\r\n           // update metadata\r\n           metadataDocument.createdDocuments += 1;\r\n           metadataDocument.createdNames += \" \" + createdDocument.id;\r\n           var accept = collection.replaceDocument(metadataDocument._self,\r\n               metadataDocument, function(err, docReplaced) {\r\n                  if(err) throw \"Unable to update metadata, abort\";\r\n               });\r\n           if(!accept) throw \"Unable to update metadata, abort\";\r\n           return;          \r\n    }",  
    "id": "PostTrigger-UpdateMetaAll",  
    "triggerOperation": "All",  
    "triggerType": "Post",  
    "_rid": "Sl8fALN4sw4BAAAAAAAAcA==",  
    "_ts": 1449689654,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/triggers\/Sl8fALN4sw4BAAAAAAAAcA==\/",  
    "_etag": "\"060022e5-0000-0000-0000-566882360000\""  
}  
  

Ayrıca Bkz.See Also