Create Trigger (Trigger erstellen)

Der Create Trigger Vorgang erstellt einen neuen Trigger in einer Auflistung.

Anforderung

Methode Anforderungs-URI BESCHREIBUNG
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/triggers Beachten Sie, dass das {databaseaccount} der Name des azure Cosmos DB-Kontos ist, das unter Ihrem Abonnement erstellt wurde. Der Wert {db-id} ist der generierte Benutzername/die ID der Datenbank, in der der Trigger erstellt wird, nicht die generierte ID (los) der Datenbank. Der Wert {coll-id} ist der Name der Auflistung, in der der Trigger erstellt wird.

Header

Siehe Allgemeine Azure Cosmos DB REST-Anforderungsheader für Header, die von allen Azure Cosmos DB-Anforderungen verwendet werden.

Body

Eigenschaft Erforderlich Typ BESCHREIBUNG
id Erforderlich String Es handelt sich um einen eindeutigen Namen, um den Trigger zu identifizieren. Die id darf nicht länger als 255 Zeichen sein.
body Erforderlich String Es ist der Körper des Triggers.
triggerOperation Erforderlich String Es ist der Typ des Vorgangs, der den Trigger aufruft. Die zulässigen Werte sind: Alle, Erstellen, Ersetzen und Löschen.
triggerType Erforderlich String Dieser Wert gibt an, wann der Trigger ausgelöst wird. Die zulässigen Werte sind: Pre und Post. Vor dem Auslösen eines Vorgangs wird vor einem Vorgang ausgelöst, während Post nach einem Vorgang ausgelöst wird.
{  
    "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"  
}  
  

Antwort

Header

Siehe Allgemeine Azure Cosmos DB REST-Antwortheader für Header, die von allen Azure Cosmos DB-Antworten zurückgegeben werden.

Statuscodes

In der folgenden Tabelle sind die allgemeinen Statuscodes aufgeführt, die von diesem Vorgang zurückgegeben werden. Eine vollständige Liste der Statuscodes finden Sie unter HTTP-Statuscodes.

HTTP-Statuscode BESCHREIBUNG
201 – Erstellt Der Vorgang wurde durchgeführt.
400 – Ungültige Anforderung Der JSON-Text ist ungültig. Überprüfen Sie, ob geschweifte Klammern oder Anführungszeichen fehlen.
409 – Konflikt Die für den neuen Trigger bereitgestellte ID wurde von einem vorhandenen Trigger übernommen.

Body

Eigenschaft BESCHREIBUNG
_rid Es handelt sich um eine systemgenerierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch hierarchisch pro Ressourcenstapel im Ressourcenmodell ist. Sie wird intern für die Platzierung und Navigation der Triggerressource verwendet.
_ts Es handelt sich um eine systemgenerierte Eigenschaft. Sie gibt den zuletzt aktualisierten Zeitstempel der Ressource an. Der Wert ist ein Zeitstempel.
_self Es handelt sich um eine systemgenerierte Eigenschaft. Es handelt sich um den eindeutig adressierbaren URI für die Ressource.
_etag Es handelt sich um eine systemgenerierte Eigenschaft, die das Ressourcen-Etag angibt, das für die optimistische Übereinstimmungssteuerung erforderlich ist.
{  
    "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": 1449689248,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/triggers\/Sl8fALN4sw4BAAAAAAAAcA==\/",  
    "_etag": "\"0600fbe4-0000-0000-0000-566880a00000\""  
}  
  

Beispiel

POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/triggers HTTP/1.1  
x-ms-session-token: 41  
x-ms-date: Wed, 09 Dec 2015 19:27:28 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dHmx5WSnyLdbJnDB1Ixme8uGbUSl%2f96HkCgSsSnsSq%2fI%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=41  
Content-Length: 1380  
Expect: 100-continue  
Connection: Keep-Alive  
  
{  
    "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 201 Created  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
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: "0600fbe4-0000-0000-0000-566880a00000"  
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: 41  
x-ms-session-token: 42  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 6.29  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: b407dfec-b6ec-4aa5-9833-eadad231fcd4  
x-ms-gatewayversion: version=1.5.57.3  
Date: Wed, 09 Dec 2015 19:27:29 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": 1449689248,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/triggers\/Sl8fALN4sw4BAAAAAAAAcA==\/",  
    "_etag": "\"0600fbe4-0000-0000-0000-566880a00000\""  
}  
  

Weitere Informationen