app/ └── triggers/ └── <trigger name>.json
Configuración general
Todos los activadores se ajustan a un esquema base con variaciones específicas según el tipo de activador. Los siguientes campos existen en todos los archivos de configuración de activadores:
{ "name": "<Trigger Name>", "type": "<Trigger Type>", "disabled": <Boolean>, "config": {}, "event_processors": { "<Type of Event Processor>": { "config": {} } } }
Campo | Descripción |
|---|---|
namestring | El nombre del disparador. Puede tener como máximo 64 caracteres y solo puede contener letras ASCII, números, guiones bajos y guiones. |
typestring | El tipo de activador. El valor de este campo determina el esquema exacto del archivo de configuración. Opciones válidas:
|
disabledboolean | El valor predeterminado es |
configobject | Un documento con campos que asignan opciones de configuración adicionales para el disparador. Los campos de configuración exactos dependen del disparador |
event_processorsobject | Un documento que configura el disparador para enviar eventos a un procesador de eventos cada vez que se activa. Opciones válidas:
Para obtener más información sobre las funciones, consulte Funciones de Atlas. Para obtener más información sobre AWS EventBridge, consulte Enviar eventos desencadenadores a AWS EventBridge. |
event_processors.configobject | Un documento con campos que asignan opciones de configuración adicionales para el procesador de eventos. Los campos de configuración exactos dependen del tipo de procesador de eventos: |
Activadores de base de datos
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:
FUNCTIONAWS_EVENTBRIDGE
Disparador de base de datos con un procesador de eventos de función
{ "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>" } } } }
Disparador de base de datos con un procesador de eventos de AWS EventBridge
{ "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_idstring | 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.databasestring | El nombre de la base de datos MongoDB que contiene la colección observada. | ||||||||
config.collectionstring | El nombre de la colección que vigila el disparador. | ||||||||
config.operation_typesstring[] | Una lista de uno o más tipos de operaciones de base de datos que hacen que se active el disparador. Tipos de operaciones válidos para todos los activadores:
Tipos de operaciones válidos para desencadenadores de implementación y base de datos:
Tipos de operaciones válidos únicamente para activadores de implementación:
TipLas 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 | ||||||||
config.full_documentboolean | Si, NotaIndependientemente de esta configuración, los eventos | ||||||||
config.full_document_before_changeboolean | Si ImportanteConfiguración de preimagen a nivel de colecciónLas preimágenes de documentos utilizan información adicional almacenada en el registro de operaciones. Estos datos adicionales pueden afectar el rendimiento de algunas aplicaciones. Una vez que haya habilitado las preimágenes de documentos para cualquier activador en una colección determinada, esa colección incluirá datos de preimágenes en el registro de operaciones y otros activadores de la colección podrán usar preimágenes sin sobrecarga adicional. Puede deshabilitar las preimágenes de documentos por desencadenador para excluirlas de los eventos de cambio. Independientemente de la configuración del desencadenador, las entradas del registro de operaciones de una colección seguirán incluyendo datos de preimágenes a menos que deshabilite explícitamente las preimágenes para la colección. Para obtener más información, consulte Preimágenes de documentos. | ||||||||
config.tolerate_resume_errorsboolean | Si Si está habilitado, cuando no se encuentra el token de reanudación de este disparador en el registro de operaciones del clúster, este reanuda automáticamente el procesamiento de eventos en el siguiente evento relevante del flujo de cambios. El disparador no activará ningún evento del flujo de cambios desde que se suspendió el disparador hasta que reanude su ejecución. Para obtener más información sobre la reanudación de Activadores suspendidos, consulta Activadores suspendidos. | ||||||||
config.unorderedboolean | Si es Si la ordenación de eventos está habilitada, este disparador se ejecutará secuencialmente según las marcas de tiempo de los eventos de cambio. Si está deshabilitada, este disparador se ejecutará de forma independiente. TipOptimización del rendimientoMejore el rendimiento de los disparadores que responden a operaciones masivas de la base de datos deshabilitando la ordenación de eventos. Más información. | ||||||||
config.matchobject | Un documento de expresión $match que App Services utiliza para filtrar los eventos de cambio que activan el disparador. El disparador evalúa todos los objetos de evento de cambio que recibe con esta expresión de coincidencia y solo se ejecuta si la expresión da como NotaUsar notación de puntos para campos incrustadosMongoDB 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. TipOptimización del rendimientoLimite el número de campos que procesa el disparador mediante una expresión $match. Más información. | ||||||||
config.maximum_throughputboolean | El valor predeterminado es. Si | ||||||||
config.skip_catchup_eventsboolean | El valor predeterminado es | ||||||||
config.projectobject | Una expresión $project que selecciona un subconjunto de campos de cada evento en el flujo de cambios. Puede usarla para optimizar la ejecución del disparador. La expresión es un objeto que asigna el nombre de los campos del evento de cambio a
| ||||||||
event_processors.config.account_idstring | 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.regionstring | Una región de AWS. | ||||||||
event_processors.config.extended_json_enabledboolean |
Los disparadores convierten los tipos BSON de los objetos de evento en tipos JSON estándar. Para conservar la información de tipo BSON, puede serializar los objetos de evento en formato JSON extendido. El JSON extendido conserva la información de tipo, a costa de la legibilidad y la interoperabilidad. | ||||||||
error_handler.config.enabledboolean | Si | ||||||||
error_handler.config.function_namestring | El nombre de la función del controlador de errores que se invoca cuando el disparador de AWS EventBridge falla y no se puede volver a intentar con éxito. |
Desencadenantes de autenticación
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:
{ "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_typestring | El tipo de operación de autenticación que hace que se active el disparador. Tipos de operaciones válidos:
|
config.providersstring[] | Una lista de tipos de proveedores de autenticación que el disparador supervisa. Tipos de proveedores válidos:
|
Activadores programados
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:
{ "name": "<Trigger Name>", "type": "SCHEDULED", "config": { "schedule": "<CRON expression>" }, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
Campo | Descripción |
|---|---|
config.schedulestring | La expresión CRON que programa la ejecución del activador. |