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 {databaseaccount} der Name des Azure Cosmos DB-Kontos ist, das unter Ihrem Abonnement erstellt wurde. Der Wert {db-id} ist der vom Benutzer generierte Name/ID der Datenbank, in der der Trigger erstellt wird, und nicht die vom System generierte ID (los) der Datenbank. Der Wert {coll-id} ist der Name der Auflistung, in der der Trigger erstellt wird. |
Header
Informationen zu Headern, die von allen Azure Cosmos DB-Anforderungen verwendet werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Anforderungsheader .
Body
Eigenschaft | Erforderlich | type | 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 Textkörper des Triggers. |
triggerOperation | Erforderlich | String | Dies 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. Pre-Trigger werden 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
Informationen zu Headern, die von allen Azure Cosmos DB-Antworten zurückgegeben werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Antwortheader .
Statuscodes
In der folgenden Tabelle sind die allgemeinen Statuscodes aufgeführt, die von diesem Vorgang zurückgegeben werden. Eine vollständige Liste der status Codes 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 angegebene ID wurde von einem vorhandenen Trigger übernommen. |
Body
Eigenschaft | BESCHREIBUNG |
---|---|
_los | Es handelt sich um eine vom System generierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch je nach Ressourcenstapel im Ressourcenmodell hierarchisch ist. Sie wird intern für die Platzierung und Navigation der Triggerressource verwendet. |
_Ts | Es handelt sich um eine vom System generierte Eigenschaft. Sie gibt den zuletzt aktualisierten Zeitstempel der Ressource an. Der Wert ist ein Zeitstempel. |
_Selbst | Es handelt sich um eine vom System generierte Eigenschaft. Es handelt sich um den eindeutig adressierbaren URI für die Ressource. |
_Etag | Es handelt sich um eine vom System generierte Eigenschaft, die das Ressourcen-Etag angibt, das für die Steuerung der optimistischen Parallelität 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\""
}