Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Atlas App Services

Trigger Configuration Files

Nota

Esta página describe un formato de archivo de configuración heredado. Solo debe usar esta información si está usando el formato obsoleto. realm-cli.

Cualquier archivo de configuración que extraiga con la CLI de App Services o exporte desde la interfaz de usuario utiliza la versión más reciente. Para obtener información detallada sobre el formato actual de los archivos de configuración, consulte Configuración de la aplicación.

app/
└── triggers/
└── <trigger name>.json

All triggers conform to a base schema with specific variations depending on the trigger type. The following fields exist in all trigger configuration files:

triggers/<trigger name>.json
{
"name": "<Trigger Name>",
"type": "<Trigger Type>",
"config": {},
"function_name": "<Trigger Function Name>",
"disabled": <Boolean>
}
Campo
Descripción
name
String

El nombre del disparador. Puede tener un máximo de 64 caracteres y solo puede contener letras ASCII, números, guiones bajos y guiones.

type
String

El tipo de activador. El valor de este campo determina el esquema exacto del archivo de configuración.

Opciones válidas:

  • "DATABASE"

  • "AUTHENTICATION"

  • "SCHEDULED"

config
Document

Un documento con campos que mapean a opciones adicionales de configuración para el activador. Los campos de configuración exactos dependen del activador type:

function_name
String

El nombre de la función Atlas que el disparador ejecuta cada vez que se activa.

event_processors
Document

Un documento que configura el activador para enviar eventos a procesadores de eventos externos cada vez que se activa. No se puede usar con function_name.

Para obtener más información, consulte Enviar eventos de activación a AWS EventBridge.

disabled
Boolean

If true, the trigger will not listen for any events and will not fire.

Las configuraciones de los disparadores de la base de datos se ajustan al esquema base de disparadores, con opciones de configuración adicionales que especifican qué colección supervisar y cuándo activar el disparador. Los archivos de configuración de los disparadores de la base de datos contienen los siguientes campos:

triggers/<trigger name>.json
{
"name": "<Trigger Name>",
"type": "DATABASE",
"config": {
"service_name": "<MongoDB Service Name>",
"database": "<Database Name>",
"collection": "<Collection Name>",
"operation_types": ["<Operation Type>", ...],
"full_document": <boolean>,
"full_document_before_change": <boolean>,
"tolerate_resume_errors": <boolean>,
"unordered": <boolean>,
"match": { <Match Filter> },
"project": { <Projection Filter> },
},
"function_name": "<Trigger Function Name>",
"disabled": <Boolean>
}
Campo
Descripción
config.service_name
String

The name of the MongoDB data source that contains the watched collection. You cannot define a database trigger on a serverless instance or Federated database instance.

config.database
String

El nombre de la base de datos de MongoDB que contiene la colección observada.

config.collection
String

El nombre de la colección que vigila el disparador.

config.operation_types
String[]

A list of one or more database operation types that cause the trigger to fire.

Tipos de operaciones válidos:

  • "INSERT"

  • "UPDATE"

  • "REPLACE"

  • "DELETE"

Tip

Las operaciones de actualización ejecutadas desde MongoDB Compass o MongoDB Atlas Data Explorer reemplazan completamente el documento anterior. Por lo tanto, las operaciones de actualización de estos clientes generarán REPLACE eventos de cambio en lugar de UPDATE.

config.full_document
Boolean

Si true, los eventos de cambio de UPDATE incluyen la última versión mayoría confirmada del documento modificado después de que se aplique el cambio en el campo fullDocument.

Nota

Independientemente de esta configuración:

  • INSERT and REPLACE events always include the fullDocument field.

  • DELETE los eventos nunca incluyen el campo fullDocument.

config.full_document_before_change
Boolean

If true, change events include a copy of the modified document from immediately before the change was applied in the fullDocumentBeforeChange field. All change events except for INSERT events include the document preimage.

Importante

Configuración de preimagen a nivel de colección

Las preimágenes de documentos utilizan información extra almacenada en el oplog. Los datos extra pueden tener implicaciones en el rendimiento de algunas aplicaciones.

Once you've enabled document preimages for any trigger on a given collection, that collection will include preimage data in the oplog and other triggers on the collection can use preimages with no additonal overhead.

Você pode desativar as pré-imagens de documentos por activador para excluir a pré-imagem dos eventos de alteração. Independentemente de suas configurações de nível de trigger, as entradas de oplog de uma colección continuarão a incluir dados de pré-imagem, a menos que você desative explicitamente as pré-imagens para a colección.

For more information, see Document Preimages.

config.tolerate_resume_errors
Boolean

Si true, el activador se reanuda automáticamente si no se encuentra el token necesario para procesar los eventos del flujo de cambios.

If enabled, when this Trigger's resume token cannot be found in the cluster's oplog, the Trigger automatically resumes processing events at the next relevant change stream event. All change stream events from when the Trigger was suspended until the Trigger resumes execution do not have the Trigger fire for them.

Para obtener más información sobre la reanudación de Activadores suspendidos, consulta Activadores suspendidos.

config.unordered
Boolean

Si es true, indica que el orden de eventos está deshabilitado para este disparador.

Si el ordenamiento de eventos está habilitado, se producirán múltiples ejecuciones de este activador de manera secuencial según las marcas de tiempo de los eventos de cambio. Si el ordenamiento de eventos está deshabilitado, se producirán múltiples ejecuciones de este activador de forma independiente.

Tip

Optimización del rendimiento

Improve performance for Triggers that respond to bulk database operations by disabling event ordering. Learn more.

config.match
Document

A $match expression document that App Services uses to filter which change events cause the Trigger to fire. The Trigger evaluates all change event objects that it receives against this match expression and only executes if the expression evaluates to true for a given change event.

Nota

Use Dot-Notation for Embedded Fields

MongoDB realiza una coincidencia de igualdad completa para los documentos incrustados en una expresión de coincidencia. Si desea que un campo específico coincida con un documento incrustado, consulte el campo directamente mediante la notación de puntos. Para más información, consulte Consulta en documentos incrustados en el manual del servidor MongoDB.

Tip

Optimización del rendimiento

Limit the number of fields that the Trigger processes by using a $match expression. Learn more.

config.project
Document

Una expresión $project que selecciona un subconjunto de campos de cada evento en el flujo de cambios. Puedes usar esto para optimizar la ejecución del activador.

La expresión es un objeto que asigna el nombre de los campos en el evento de cambio a 0, que excluye el campo, o a 1, que lo incluye. Una expresión puede tener valores de 0 o 1, pero no ambos juntos. Esto divide las proyecciones en dos categorías: inclusivas y exclusivas:

  • Una expresión de proyecto inclusiva especifica los campos que se incluirán en cada documento de evento de cambio. La expresión es un objeto que asigna el nombre de los campos a un 1 valor. Si no se incluye un campo, este no se incluirá en el evento de cambio proyectado.

    Ejemplo

    La siguiente proyección incluye solo los campos _id y fullDocument:

    {
    _id: 1,
    fullDocument: 1
    }
  • Una expresión de proyecto exclusiva especifica los campos que se excluirán de cada documento de evento de cambio. La expresión es un objeto que asigna el nombre de los campos a incluir a 0 un. Si no se excluye un campo, este se incluye en el evento de cambio proyectado.

    Ejemplo

    La siguiente proyección excluye los campos _id y fullDocument:

    {
    _id: 0,
    fullDocument: 0
    }

    Nota

    No puedes excluir el campo operation_type con una proyección. Esto garantiza que el activador siempre pueda comprobar si debe ejecutarse para un tipo de operación de evento dado.

Las configuraciones de los activadores de autenticación se ajustan al esquema base de activadores, con opciones de configuración adicionales que especifican qué proveedores de autenticación supervisar y cuándo activar el activador. Los archivos de configuración de los activadores de autenticación contienen los siguientes campos:

triggers/<trigger name>.json
{
"name": "<Trigger Name>",
"type": "AUTHENTICATION",
"config": {
"operation_type": ["<Operation Type>", ...],
"providers": ["<Provider Type>", ...],
},
"function_name": "<Trigger Function Name>",
"disabled": <Boolean>
}
Campo
Descripción
config.operation_type
String

The authentication operation type that causes the trigger to fire.

Tipos de operaciones válidos:

  • "LOGIN"

  • "CREATE"

  • "DELETE"

config.providers
String[]

A list of authentication provider types that the trigger watches.

Tipos de proveedores válidos:

  • "anon-user"

  • "local-userpass"

  • "api-key"

  • "custom-token"

  • "custom-function"

  • "oauth2-facebook"

  • "oauth2-google"

  • "oauth2-apple"

Las configuraciones de los disparadores programados se ajustan al esquema base de los disparadores, con opciones de configuración adicionales que especifican la programación de su activación. Los archivos de configuración de los disparadores programados contienen los siguientes campos:

triggers/<trigger name>.json
{
"name": "<Trigger Name>",
"type": "SCHEDULED",
"config": {
"schedule": "<CRON expression>"
},
"function_name": "<Trigger Function Name>",
"disabled": <Boolean>
}
Campo
Descripción
config.schedule
String

La expresión CRON que programa la ejecución del activador.

Next

¿Qué son los servicios de aplicación Atlas?

En esta página