Share via


Trigger class

Operations to read, replace, or delete a Trigger.

Use container.triggers to create, upsert, query, or read all.

Properties

container
id
url

Returns a reference URL to the resource. Used for linking in Permissions.

Methods

delete(RequestOptions)

Delete the given Trigger.

Example

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

await container.scripts.trigger("<trigger-id>").delete();
read(RequestOptions)

Read the TriggerDefinition for the given Trigger.

Example

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resource: trigger } = await container.scripts.trigger("<trigger-id>").read();
replace(TriggerDefinition, RequestOptions)

Replace the given Trigger with the specified TriggerDefinition.

Example

import { CosmosClient, TriggerDefinition, TriggerType, TriggerOperation } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const triggerDefinition: TriggerDefinition = {
  id: "sample trigger",
  body: "serverScript() { var x = 10; }",
  triggerType: TriggerType.Pre,
  triggerOperation: TriggerOperation.All,
};

const { resource: trigger } = await container.scripts.triggers.create(triggerDefinition);

trigger.body = "function () { const x = 20; console.log(x); }";
const { resource: replacedTrigger } = await container.scripts.trigger(trigger.id).replace(trigger);

Property Details

container

container: Container

Property Value

id

id: string

Property Value

string

url

Returns a reference URL to the resource. Used for linking in Permissions.

string url

Property Value

string

Method Details

delete(RequestOptions)

Delete the given Trigger.

Example

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

await container.scripts.trigger("<trigger-id>").delete();
function delete(options?: RequestOptions): Promise<TriggerResponse>

Parameters

options
RequestOptions

Returns

Promise<TriggerResponse>

read(RequestOptions)

Read the TriggerDefinition for the given Trigger.

Example

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const { resource: trigger } = await container.scripts.trigger("<trigger-id>").read();
function read(options?: RequestOptions): Promise<TriggerResponse>

Parameters

options
RequestOptions

Returns

Promise<TriggerResponse>

replace(TriggerDefinition, RequestOptions)

Replace the given Trigger with the specified TriggerDefinition.

Example

import { CosmosClient, TriggerDefinition, TriggerType, TriggerOperation } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const triggerDefinition: TriggerDefinition = {
  id: "sample trigger",
  body: "serverScript() { var x = 10; }",
  triggerType: TriggerType.Pre,
  triggerOperation: TriggerOperation.All,
};

const { resource: trigger } = await container.scripts.triggers.create(triggerDefinition);

trigger.body = "function () { const x = 20; console.log(x); }";
const { resource: replacedTrigger } = await container.scripts.trigger(trigger.id).replace(trigger);
function replace(body: TriggerDefinition, options?: RequestOptions): Promise<TriggerResponse>

Parameters

body
TriggerDefinition

The specified TriggerDefinition to replace the existing definition with.

options
RequestOptions

Returns

Promise<TriggerResponse>