trigger 구성 파일
이 페이지의 내용
app/ └── triggers/ └── <trigger name>.json
일반 구성
모든 Atlas Triggers는 기본 스키마를 준수하며 trigger 유형에 따라 구체적인 변형이 있습니다. 모든 trigger 구성 파일에는 다음 필드가 존재합니다.
{ "name": "<Trigger Name>", "type": "<Trigger Type>", "disabled": <Boolean>, "config": {}, "event_processors": { "<Type of Event Processor>": { "config": {} } } }
필드 | 설명 |
---|---|
name string | trigger 이름입니다. 최대 64자까지 입력할 수 있으며 ASCII 문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다. |
type string | 트리거 유형입니다. 이 필드의 값에 따라 정확한 구성 파일 스키마가 결정됩니다. 유효한 옵션은 다음과 같습니다.
|
disabled boolean | 기본값은 false 입니다. true 인 경우 trigger는 어떤 이벤트도 수신하지 않으며 실행되지 않습니다. |
config object | 트리거의 추가 구성 옵션에 매핑되는 필드가 있는 문서입니다. 정확한 구성 필드는 trigger |
event_processors object | trigger가 실행될 때마다 이벤트 프로세서로 이벤트를 전송하도록 trigger를 구성하는 문서입니다. 유효한 옵션은 다음과 같습니다.
함수에 대한 자세한 내용은 Realm 함수를 참조하세요. AWS EventBridge에 대한 자세한 내용은 AWS EventBridge에 트리거 이벤트 전송을 참조하세요. |
event_processors.config object | 이벤트 프로세서의 추가 구성 옵션에 매핑되는 필드가 있는 문서입니다. 정확한 구성 필드는 이벤트 프로세서 유형에 따라 다릅니다. |
데이터베이스 트리거
데이터베이스 트리거 구성은 감시할 컬렉션과 트리거를 실행할 시기를 지정하는 추가 구성 옵션이 포함된 기본 트리거 스키마를 따릅니다.
데이터베이스 트리거 구성 파일에 존재하는 필드는 다음과 같습니다. 이벤트 프로세서 유형에 따라 두 가지 구성이 가능합니다.
FUNCTION
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": { "FUNCTION": { "config": { "function_name": "<Function Name>" } } } }
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>" } } }
필드 | 설명 | ||||||||
---|---|---|---|---|---|---|---|---|---|
config.service_id string | 감시 대상 컬렉션 이 포함된 MongoDB 데이터 소스 의 고유 식별자입니다. 서버리스 인스턴스또는 연합 데이터베이스 인스턴스 에서는 데이터베이스 를 정의할 수 없습니다.trigger | ||||||||
config.database string | 감시되는 collection이 포함된 MongoDB database의 이름입니다. | ||||||||
config.collection string | trigger가 감시하는 collection의 이름입니다. | ||||||||
config.operation_types string[] | 트리거가 실행되도록 하는 하나 이상의 데이터베이스 작업 유형 목록입니다. 모든 Atlas Triggers에 유효한 작업 유형:
데이터베이스 및 배포 Atlas Triggers에 유효한 작업 유형은 다음과 같습니다.
배포 트리거에만 유효한 작업 유형입니다:
팁MongoDB Compass 또는 MongoDB Atlas 데이터 탐색기에서 실행한 업데이트 작업은 이전 문서를 완전히 대체합니다. 따라서 이러한 클라이언트의 업데이트 작업은 업데이트 | ||||||||
config.full_document boolean | |||||||||
config.full_document_before_change boolean |
중요컬렉션 수준 사전 이미지 설정문서 사전 이미지는 oplog에 저장된 추가 정보를 사용합니다. 추가 데이터는 일부 앱의 성능에 영향을 미칠 수 있습니다. 특정 컬렉션의 트리거에 대해 문서 사전 이미지를 활성화하면 해당 컬렉션의 oplog에 사전 이미지 데이터가 포함되고 컬렉션의 다른 트리거는 추가 오버헤드 없이 사전 이미지를 사용할 수 있습니다. 트리거별로 문서 사전 이미지를 비활성화하여 변경 이벤트에서 사전 이미지를 제외할 수 있습니다. 트리거 수준 설정에 관계없이 컬렉션의 사전 이미지를 명시적으로 비활성화하지 않는 한 컬렉션의 oplog 항목에는 사전 이미지 데이터가 계속 포함됩니다. 자세한 내용은 문서 미리보기 이미지를 참조하세요. | ||||||||
config.tolerate_resume_errors boolean |
활성화되어 있고, 클러스터의 oplog에서 이 트리거의 재개 토큰을 찾을 수 없는 경우, 트리거는 다음번 관련 변경 스트림 이벤트에서 자동으로 이벤트 처리를 재개합니다. 트리거가 일시 중단된 시점부터 트리거가 실행을 재개할 때까지의 모든 변경 스트림 이벤트에는 트리거가 실행되지 않습니다. 일시 중단된 Atlas Triggers 재개에 대한 자세한 내용은 일시 중단된 Atlas Triggers를 참조하세요 . | ||||||||
config.unordered boolean |
이벤트 순서 지정이 활성화되면 변경 이벤트의 타임스탬프를 기준으로 이 트리거가 순차적으로 여러 번 실행됩니다. 이벤트 순서 지정이 비활성화되면 이 트리거가 순서에 관계없이 여러 번 실행됩니다. | ||||||||
config.match object | App Services가 트리거를 발생시키는 변경 이벤트를 필터링하는 데 사용하는 $match 표현식 문서입니다. 트리거는 이 일치 표현식에 대해 수신한 모든 변경 이벤트 객체를 평가하며 해당 변경 이벤트에 대해 표현식이 참고내장된 필드에 점 표기법 사용MongoDB는 일치 표현식에 내장된 문서에 대해 완전한 동등성 매치를 수행합니다. 내장된 문서에서 특정 필드를 일치시키려면 점 표기법을 사용해 해당 필드를 직접 참조해야 합니다. 자세한 내용은 MongoDB 서버 매뉴얼의 내장된 문서에 대한 쿼리를 참조하세요. | ||||||||
config.maximum_throughput boolean | 기본값은 false 입니다. true 인 경우 최대 처리량을 기본 동시 프로세스 10,000개 이상으로 늘릴 수 있습니다. 자세한 내용은 처리량 Atlas Triggers 최대화를 참조하세요. | ||||||||
config.skip_catchup_events boolean | 기본값은 false 입니다. true 인 경우, 트리거를 비활성화한 후 활성화해도 트리거가 비활성화된 동안 발생한 이벤트가 호출되지 않습니다. | ||||||||
config.project object | 변경 스트림의 각 이벤트에서 필드의 하위 집합을 선택하는 $project 표현식입니다. 이를 사용 하여 trigger 의 실행을 최적화할 수 있습니다. 표현식은 변경 이벤트의 필드 이름을 필드를 제외한
| ||||||||
event_processors.config.account_id string | Amazon Web Services 계정 ID입니다. 계정 ID를 찾는 방법에 대한 자세한 내용 은 MongoDB 제휴하다 이벤트 소스 설정을 참조하세요. | ||||||||
event_processors.config.region string | AWS 리전입니다. | ||||||||
event_processors.config.extended_json_enabled boolean |
Atlas Triggers는 이벤트 객체의 BSON types 를 표준 JSON types로 변환합니다. BSON 유형 정보를 보존하기 위해 이벤트 객체를 확장 JSON 형식 으로 직렬화할 수 있습니다. 확장 JSON은 가독성과 상호 운용성을 희생하면서 유형 정보를 보존합니다. | ||||||||
error_handler.config.enabled boolean | true 인 경우 AWS EventBridge 트리거에 대해 오류 처리가 활성화됩니다. 오류 처리 구성에 대한 자세한 내용은 사용자 지정 오류 처리를 참조하세요. | ||||||||
error_handler.config.function_name string | Amazon Web Services Eventbridge trigger가 실패하여 성공적으로 재시도할 수 없을 때 호출되는 오류 핸들러 함수의 이름입니다. |
인증 트리거
인증 트리거 구성은 감시할 인증 공급자와 트리거를 실행하는 시기를 지정하는 추가 구성 옵션이 포함된 기본 트리거 스키마를 준수합니다. 인증 트리거 구성 파일에 존재하는 필드는 다음과 같습니다.
{ "name": "<Trigger Name>", "type": "AUTHENTICATION", "config": { "operation_type": ["<Operation Type>", ...], "providers": ["<Provider Type>", ...], }, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
예약된 트리거
예정된 트리거 구성은 트리거가 실행되는 일정을 지정하는 추가 구성 옵션이 포함된 기본 트리거 스키마를 따릅니다. 예정된 트리거 구성 파일에는 다음과 같은 필드가 있습니다.
{ "name": "<Trigger Name>", "type": "SCHEDULED", "config": { "schedule": "<CRON expression>" }, "function_name": "<Trigger Function Name>", "disabled": <Boolean> }
필드 | 설명 |
---|---|
config.schedule string | 트리거의 실행을 예약하는 CRON 표현식 입니다. |