이 섹션에서는 서버에서 트리거 되는 이벤트인 Bubble의 백엔드 이벤트를 다룹니다.
백엔드 이벤트는 Bubble의 서버에서 발생하는 트리거입니다.
이것은 다음과 같은 조건들에 의해 트리거 될 수 있습니다.
- API워크플로 Schedule Action을 통해 특정 시간에 트리거하도록 예약할 수 있습니다.
- 외부 앱의 API Call에 의해 트리거될 수 있습니다.
- 데이터베이스 변경에 대한 응답으로 트리거할 수 있습니다.
- 특정 간격으로 실행되도록 설정할 수 있습니다.
(1) 프론트엔드와의 차이점
: 백엔드 이벤트는 프런트엔드 이벤트와 어떻게 다른가요?
백엔드 이벤트는 Bubble의 서버에서 완전히 연산처리되며 사용자의 장치(프런트엔드)와 전혀 관련이 없는 반면 프런트엔드 이벤트는 사용자의 장치에서 연산되어 서버로 전달됩니다.
: 여기에는 몇 가지 의미가 있으며 가장 중요한 것은 항상 접속이 가능하다는 것입니다.
- 사용자에 의해 열려진 페이지는 닫히는 즉시 모든 작업을 중지하지만 서버는 연중무휴로 사용할 수 있습니다.
- 프런트엔드 이벤트는 앱의 페이지에서 발생하는 트리거입니다. 항상 그런 것은 아니지만 종종 사용자에 의해 시작합니다. 프런트엔드 이벤트는 페이지가 열려 있는 동안에만 트리거 됩니다.
- 프런트엔드 이벤트는 서버에서 발생하는 작업으로 이어질 수 있지만 이벤트 (또는 트리거)는 페이지에서 발생합니다.
(2) 특정 시간에 예약된 이벤트 트리거
특정 시간에 트리거하도록 백엔드 이벤트를 예약할 수 있습니다.
이것은 Bubble Workflow API의 일부이며 다음과 같이 수행됩니다.
- 백엔드 편집기에서 수행해야 하는 모든 Action이 포함된 새 API 워크플로를 만듭니다.
- Schedule API Workflow를 사용하여 특정 시간에 실행되도록 워크플로를 설정합니다.
- API 워크플로를 만들고 예약하는 방법에 대해 자세히 알아보려면 다음 문서를 확인하세요
- Workflow API에 익숙하지 않은 경우 다음의 문서들을 확인하세요
이벤트 예약은 이벤트가 아닙니다.
- 지정된 시간에 워크플로가 트리거 될 때 이벤트가 발생합니다.
- 스케줄링은 프런트엔드와 백엔드 모두에서 발생할 수 있지만 이벤트는 백엔드에서 발생합니다. 따라서 사용자가 앱을 닫아도 사용할 수 있습니다.
(3) 외부 애플리케이션에서 워크플로 트리거
Bubble Workflow API를 사용하면 외부 애플리케이션에서 내 앱의 워크플로를 트리거할 수도 있습니다.
이것을 하기 위해 다음을 설정합니다.
- 백엔드 편집기에서 API 워크플로를 생성하고 공개 API 워크플로로 노출이 선택되어 있는지 확인합니다.
- settings > API > Public API endpoint > Enable workflow API and Backend workflow 체크
- (워크플로의 엔드포인트에 요청을 보내도록 외부 애플리케이션 설정)
- API 워크플로를 생성하고 이를 외부 앱에 노출하는 방법에 대해 자세히 알아보려면 이 주제를 다루는 전용 문서를 확인하십시오
(4) 데이터베이스에서 데이터가 변경될 때 이벤트 트리거
데이터베이스 트리거 이벤트를 사용하여 데이터베이스에서 특정 항목이 변경될 때마다 워크플로 실행을 시작하도록 백엔드에서 이벤트를 설정할 수 있습니다.
- 예를 들어 전자상거래 앱을 실행 중이고 주문이라는 데이터 유형에 완료된 구매라는 필드가 예로 설정되어 있을 때마다 이메일을 보내려고 한다고 가정해 보겠습니다.
- 데이터베이스 트리거 이벤트를 식과 결합하여 이벤트가 응답할 변경 종류를 정확하게 지정하고 그에 따라 워크플로를 실행할 수 있습니다.
- 백엔드 편집기에서 데이터베이스 트리거 이벤트를 생성합니다.
- Only when 필드에서 트리거에 대한 조건을 지정합니다.
데이터베이스 트리거 이벤트 생성에 대해 자세히 알아보려면 전용 문서를 확인하십시오.
(5) 특정 간격으로 워크플로 실행
하루/주/월에 한 번과 같은 간격으로 실행되도록 워크플로를 설정할 수 있는 두 가지 방법이 있습니다.
1. Recurring events (반복 이벤트)
반복 이벤트 설정은 가입한 요금제에 따라 다릅니다.
Bubble의 가격 비교 페이지에서 자세한 내용을 확인할 수 있습니다.
: 반복 이벤트는 다음을 트리거하도록 특별히 구성된 이벤트입니다.
- 일일
- 주간
- 월간
- 분기별
- 매년
이것은 두 부분으로 구성됩니다.
- 실행할 워크플로: 워크플로를 실행할 데이터베이스 항목이 포함된 반복 이벤트
- Set / Cancel Action: 워크플로의 첫 번째 행동을 실행하고 실행해야 하는 빈도를 Bubble에 지시하는 반복 이벤트를 설정/취소하는 Action입니다.
2. Recursive workflows (재귀적 워크플로우)
재귀적 워크플로는 Schedule API 워크플로를 Action으로 사용하고 Action이 포함된 워크플로와 동일한 워크플로를 선택하여 스스로 일정을 조정하는 워크플로입니다.
- 동적 시간을 설정하여 다음 주기를 예약할 수 있으므로 간격을 자유롭게 설정할 수 있습니다.
- 재귀 워크플로는 설정하기가 조금 더 복잡하지만 반복 이벤트보다 더 많은 유연성을 제공하며 하위 계층 계획에서 사용할 수 있습니다.
(6) Timezone(시간대) 재정의
백엔드에서 timezone(시간대)를 재정의하려면 앱의 일반 설정에서 고급 설정 timezone(시간대) 재정의 제어 활성화를 활성화해야 합니다.
- Settings > General > Advanced Optionns > Enable Timezone override controls 체크 활성화
일부 백엔드 워크플로에서는 정적 또는 동적선택으로 대체 시간대를 설정하여 현재 사용자의 현재 timezone(시간대)를 재정의할 수 있습니다. 실제로 timezone(시간대) 교체는 다음과 같이 작동합니다.
1. Timezone (시간대) 작동 - Backendworkflows
- API workflow: API 요청의 시간대 재정의
- Recurring event: Recurring event가 처음 예약된 시간대를 재정의합니다.
- 데이터베이스 트리거 이벤트 : 변경이 발생한 시간대 (즉, 변경이 이루어진 사용자의 시간대)를 재정의합니다.
2. 예시
다음 예시처럼 앱이 데이터를 구문 분석하고 저장하는 방식을 표준화하는 데 도움이 됩니다.
- 동부 표준시에서 2000년 1월 1일을 구문 분석하고 기본 설정을 유지하면 Bubble은 해당 날짜를 2000년 1월 1일 오전 12:00 동부 표준시로 저장합니다.
- 대신 클라이언트 시간대를 태평양 표준시로 재정의하는 경우 1/1/2000을 선택하면 1/1/2000 12:00 AM 태평양 표준시가 저장됩니다.
3. 적용
이러한 유형의 timezone(시간대) 표준화는 다양한 시나리오에서 유용합니다.
- 외부 API 요청에 타임스탬프가 포함되지만 timezone(시간대)는 포함되지 않는 경우
- 해당 호출이 수신되면 적절하게 구문 분석되도록 정적 또는 동적 timezone(시간대)를 설정할 수 있습니다.
- 예약된 약속의 timezone(시간대)가 일정하게 유지되어야 하는 일정을 처리하는 앱
- 예를 들어 사용자가 도쿄에서 런던에서 회의를 예약하는 경우 앱은 사용된 timezone(시간대)가 실제로 도쿄가 아닌 런던임을 확인할 수 있습니다.
4. Backend workflows 외의 Timezone(시간대) 변경
timezone(시간대) 재정의는 백엔드 워크플로에서만 사용할 수 있는 것이 아닙니다.
개별 입력 양식 및 페이지에서도 설정할 수 있습니다.
1) Date-time Input
2) Page