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
/ /
Archivos de configuración de la aplicación

Trigger Configuration Files

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>",
"disabled": <Boolean>,
"config": {},
"event_processors": {
"<Type of Event Processor>": {
"config": {}
}
}
}
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"

disabled
boolean

El valor predeterminado es false. Si es true, el disparador no detectará ningún evento y no se activará.

config
object

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:

event_processors
object

A document that configures the trigger to send events to an event processor whenever it fires.

Opciones válidas:

  • "FUNCIÓN"

  • "AWS_EVENTBRIDGE"

Para obtener más información sobre las funciones, consulte Funciones de Atlas.

For more information on AWS EventBridge, see Send Trigger Events to AWS EventBridge.

event_processors.config
object

Un documento con campos que se asignan a opciones de configuración adicionales para el procesador de eventos. Los campos de configuración exactos dependen del tipo de procesador de eventos:

Las configuraciones de activadores de base de datos se ajustan al esquema base de activadores con opciones de configuración adicionales que especifican qué colección vigilar y cuándo activar el activador.

Los siguientes campos existen en los archivos de configuración de los disparadores de la base de datos. Existen dos configuraciones posibles según el tipo de procesador de eventos:

  • FUNCTION

  • AWS_EVENTBRIDGE

Activador de base de datos con un Procesador de evento de función

triggers/<trigger name>.json
{
"name": "<Trigger Name>",
"type": "DATABASE",
"disabled": <boolean>,
"config": {
"service_id": "<MongoDB Data Source Service ID>",
"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> },
"maximum_throughput": <boolean>,
"skip_catchup_events": <boolean>,
"project": { <Projection Filter> },
},
"event_processors": {
"FUNCTION": {
"config": {
"function_name": "<Function Name>"
}
}
}
}

Activador de base de datos con un procesador de eventos de AWS EventBridge

triggers/<trigger name>.json
{
"name": "<Trigger Name>",
"type": "DATABASE",
"disabled": <boolean>,
"config": {
"service_id": "<MongoDB Data Source Service ID>",
"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> },
"maximum_throughput": <boolean>,
"skip_catchup_events": <boolean>,
"project": { <Projection Filter> },
},
"event_processors": {
"AWS_EVENTBRIDGE": {
"config": {
"account_id": "<AWS Account ID>",
"region": "<AWS Region>",
"extended_json_enabled": <boolean>
}
}
},
"error_handler": {
"config": {
"enabled": <boolean>,
"function_name": "<Error Handler Function Name>"
}
}
}
Campo
Descripción
config.service_id
string

El identificador único de la fuente de datos de MongoDB que contiene la colección supervisada. No se puede definir un disparador de base de datos en una instancia sin servidor ni en una instancia de base de datos federada.

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.

Valid operations types for all triggers:

  • "INSERT"

  • "UPDATE"

  • "REPLACE"

  • "DELETE"

Tipos de operaciones válidos para desencadenadores de implementación y base de datos:

  • "CREATE_COLLECTION"

  • "MODIFY_COLLECTION"

  • "RENAME_COLLECTION"

  • "SHARD_COLLECTION"

  • "DROP_COLLECTION"

  • "RESHARD_COLLECTION"

  • "REFINE_COLLECTION_SHARD_KEY"

  • "CREATE_INDEXES"

  • "DROP_INDEXES"

Valid operations types for deployment triggers only:

  • "DROP_DATABASE"

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

Regardless of this setting, INSERT and REPLACE events always include the``fullDocument`` field. DELETE events never include the fullDocument field.

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
object

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.maximum_throughput
boolean

El valor predeterminado es. Si false true es, puede aumentar el rendimiento máximo por encima de los 10 000 procesos simultáneos predeterminados. Para obtener más información, consulte Activadores para maximizar el rendimiento.

config.skip_catchup_events
boolean

Por defecto, false. Si true, habilitar el activador después de que haya sido deshabilitado no invocará los eventos que ocurrieron mientras el activador estaba deshabilitado.

config.project
object

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.

event_processors.config.account_id
string

Un ID de cuenta de AWS. Para obtener más información sobre cómo encontrarlo, consulte Configurar la fuente de eventos de socio de MongoDB.

event_processors.config.region
string

An AWS region.

event_processors.config.extended_json_enabled
boolean

false Por defecto. Si es true, se habilita JSON extendido.

Triggers convert the BSON types in event objects into standard JSON types. To preserve BSON type information, you can serialize event objects into Extended JSON format instead. Extended JSON preserves type information at the expense of readability and interoperability.

error_handler.config.enabled
boolean

Si true es, la gestión de errores está habilitada para el disparador de AWS EventBridge. Para obtener más información sobre la configuración de la gestión de errores, consulte Gestión de errores personalizada.

error_handler.config.function_name
string

The name of the error handler function invoked when the AWS EventBridge trigger fails and cannot be successfully retried.

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.

Volver

Atlas Device Sync

En esta página