Výměna triggeruReplace a Trigger

Provádění operace PUT u určitého prostředku triggeru nahrazuje celý prostředek triggeru.Performing a PUT operation on a specific trigger resource replaces the entire trigger resource. Všechny vlastnosti, včetně ID, těla, triggerOperation a triggerType, musí být odeslány v těle, aby bylo možné provést nahrazení.All user settable properties, including the ID, the body, the triggerOperation, and the triggerType, must be submitted in the body to perform the replacement.

ŽádostRequest

MetodaMethod Identifikátor URI žádostiRequest URI DescriptionDescription
PUTPUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/triggers/{trigger-name} {Databaseaccount} je název účtu Azure Cosmos DB vytvořeného v rámci vašeho předplatného.The {databaseaccount} is the name of the Azure Cosmos DB account created under your subscription. Hodnota {DB-ID} je uživatelem vygenerovaný název nebo ID databáze, ve které je aktivační událost nahrazena, nikoli systémem vygenerovaný identifikátor (RID) databáze.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. Hodnota {coll-ID} je název kolekce, ve které je aktivační událost nahrazena.The {coll-id} value is the name of the collection where the trigger is replaced. Hodnota {Trigger-Name} je název triggeru, který se má nahradit.The {trigger-name} value is the name of the trigger to be replaced.

HlavičkyHeaders

Hlavičky používané všemi požadavky Cosmos DB najdete v tématu běžné hlavičky žádostí REST Azure Cosmos DB .See Common Azure Cosmos DB REST request headers for headers that are used by all Cosmos DB requests.

TextBody

VlastnostProperty Požaduje seRequired TypType DescriptionDescription
idid VyžadovánoRequired ŘetězecString Je to jedinečný název, který slouží k identifikaci triggeru.It is the unique name used to identify the trigger. ID nesmí překročit 255 znaků.The ID must not exceed 255 characters.
tělesbody VyžadovánoRequired ŘetězecString Je to tělo triggeru.It is the body of the trigger.
triggerOperationtriggerOperation VyžadovánoRequired ŘetězecString Jedná se o typ operace, která vyvolá Trigger.It is the type of operation that invokes the trigger. Přijatelné hodnoty jsou: vše, Vložit, nahradita Odstranit.The acceptable values are: All, Insert, Replace, and Delete.
triggerTypetriggerType VyžadovánoRequired ŘetězecString Určuje, kdy se Trigger aktivuje.It specifies when the trigger is fired. Přijatelné hodnoty jsou: pre a post.The acceptable values are: Pre and Post. Před operací, které se aktivují po operaci, se předá triggery aktivují.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"  
}  
  

OdpověďResponse

HlavičkyHeaders

Záhlaví, která jsou vrácena všemi Cosmos DB odpověďmi, najdete v tématu běžné hlavičky odpovědí REST Azure Cosmos DB .See Common Azure Cosmos DB REST response headers for headers that are returned by all Cosmos DB responses.

Stavové kódyStatus codes

V následující tabulce jsou uvedeny běžné stavové kódy vracené touto operací.The following table lists common status codes returned by this operation. Úplný seznam stavových kódů najdete v tématu stavové kódy http.For a full list of status codes, see HTTP Status Codes.

Stavový kód HTTPHTTP status code PopisDescription
200 OK200 Ok Operace nahrazení byla úspěšná.The replace operation was successful.
400 – Chybný požadavek400 Bad Request Tělo JSON je neplatné.The JSON body is invalid. Vyhledejte chybějící složené závorky nebo uvozovky.Check for missing curly brackets or quotes.
404 Nenalezeno404 Not Found Aktivační událost, která má být nahrazena, již není prostředkem, to znamená, že byla aktivační událost odstraněna.The trigger to be replaced is no longer a resource, that is, the trigger was deleted.
409 – Konflikt409 Conflict IDENTIFIKÁTOR poskytnutý pro Trigger byl proveden existující triggerem.The ID provided for the trigger has been taken by an existing trigger.

TextBody

VlastnostProperty PopisDescription
_rid_rid Jedná se o vlastnost generovanou systémem.It is a system generated property. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků.The resource ID (_rid) is a unique identifier that is also hierarchical per the resource stack on the resource model. Používá se interně k umístění a navigaci prostředku triggeru.It is used internally for placement and navigation of the trigger resource.
_ts_ts Jedná se o vlastnost generovanou systémem.It is a system generated property. Určuje poslední aktualizované časové razítko prostředku.It specifies the last updated timestamp of the resource. Hodnota je časové razítko.The value is a timestamp.
_self_self Jedná se o vlastnost generovanou systémem.It is a system generated property. Jedná se o jedinečně adresovatelný identifikátor URI pro prostředek.It is the uniquely addressable URI for the resource.
_etag_etag Jedná se o vlastnost generovanou systémem, která určuje značka ETag prostředku požadovaná pro kontrolu optimistického řízení souběžnosti.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\""  
}  
  

PříkladExample

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\""  
}  
  

Viz takéSee Also