Share via


Triggers class

Operations to create, upsert, query, and read all triggers.

Use container.triggers to read, replace, or delete a Trigger.

Properties

container

Methods

create(TriggerDefinition, RequestOptions)

Create a trigger.

Azure Cosmos DB supports pre and post triggers defined in JavaScript to be executed on creates, updates and deletes.

For additional details, refer to the server-side JavaScript API documentation.

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);
query(SqlQuerySpec, FeedOptions)

Query all Triggers.

query<T>(SqlQuerySpec, FeedOptions)

Query all Triggers.

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 querySpec = {
  query: "SELECT * FROM root r WHERE r.id=@id",
  parameters: [
    {
      name: "@id",
      value: "<trigger-id>",
    },
  ],
};
const { resources: results } = await container.scripts.triggers.query(querySpec).fetchAll();
readAll(FeedOptions)

Read all Triggers.

Example

Read all trigger to array.

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 { resources: triggerList } = await container.scripts.triggers.readAll().fetchAll();

Property Details

container

container: Container

Property Value

Method Details

create(TriggerDefinition, RequestOptions)

Create a trigger.

Azure Cosmos DB supports pre and post triggers defined in JavaScript to be executed on creates, updates and deletes.

For additional details, refer to the server-side JavaScript API documentation.

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);
function create(body: TriggerDefinition, options?: RequestOptions): Promise<TriggerResponse>

Parameters

options
RequestOptions

Returns

Promise<TriggerResponse>

query(SqlQuerySpec, FeedOptions)

Query all Triggers.

function query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>

Parameters

query
SqlQuerySpec

Query configuration for the operation. See SqlQuerySpec for more info on how to configure a query.

options
FeedOptions

Returns

query<T>(SqlQuerySpec, FeedOptions)

Query all Triggers.

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 querySpec = {
  query: "SELECT * FROM root r WHERE r.id=@id",
  parameters: [
    {
      name: "@id",
      value: "<trigger-id>",
    },
  ],
};
const { resources: results } = await container.scripts.triggers.query(querySpec).fetchAll();
function query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>

Parameters

query
SqlQuerySpec

Query configuration for the operation. See SqlQuerySpec for more info on how to configure a query. *

options
FeedOptions

Returns

readAll(FeedOptions)

Read all Triggers.

Example

Read all trigger to array.

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 { resources: triggerList } = await container.scripts.triggers.readAll().fetchAll();
function readAll(options?: FeedOptions): QueryIterator<TriggerDefinition & Resource>

Parameters

options
FeedOptions

Returns