이 문서는 Cloud Functions에서 제공하는 트리거 유형과 설정 방법을 설명합니다.
트리거는 함수를 실행시키는 이벤트 소스입니다. Cloud Functions는 다양한 유형의 트리거를 제공하여 여러 방식으로 함수를 호출할 수 있습니다.
| 트리거 유형 | 설명 | 기본 제공 |
|---|---|---|
| HTTP | HTTP 요청을 통해 함수 실행 | O |
| Timer | 지정된 시간 또는 주기에 따라 함수 실행 | X |
| API Gateway | API Gateway를 통해 함수 실행 | X |
HTTP 트리거는 함수 생성 시 기본으로 제공되며, HTTP 요청을 통해 함수를 실행할 수 있습니다.
https://{userdomain}/{함수명}
curl -X GET "https://{userdomain}/{함수명}?param1=value1¶m2=value2"
curl -X POST "https://{userdomain}/{함수명}" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
[참고]
비활성화된 HTTP 트리거로 요청을 보내면 함수가 실행되지 않습니다.
Timer 트리거는 지정된 시간 또는 주기에 따라 자동으로 함수를 실행합니다. Cron 표현식을 사용하여 실행 주기를 설정할 수 있습니다.

Cron 표현식은 다음과 같은 형식을 따릅니다.
* * * * * *
│ │ │ │ │ │
│ │ │ │ │ └─ 요일 (0-6 또는 SUN-SAT, 0: 일요일)
│ │ │ │ └─── 월 (1-12 또는 JAN-DEC)
│ │ │ └───── 일 (1-31)
│ │ └─────── 시 (0-23)
│ └───────── 분 (0-59)
└─────────── 초 (0-59)
| 필드 | 필수 | 허용 값 | 허용 특수 문자 |
|---|---|---|---|
| 초(Seconds) | Yes | 0-59 | * / , - |
| 분(Minutes) | Yes | 0-59 | * / , - |
| 시(Hours) | Yes | 0-23 | * / , - |
| 일(Day of month) | Yes | 1-31 | * / , - ? |
| 월(Month) | Yes | 1-12 또는 JAN-DEC | * / , - |
| 요일(Day of week) | Yes | 0-6 또는 SUN-SAT | * / , - ? |
*
해당 필드의 모든 값과 일치함을 나타냅니다. 예를 들어, 5번째 필드(월)에 *를 사용하면 모든 월을 의미합니다.
/
범위의 증분을 나타낼 때 사용합니다. 예를 들어, 2번째 필드(분)에 3-59/15를 사용하면 3분부터 시작해서 15분마다 실행됨을 의미합니다(3, 18, 33, 48분). */... 형태는 first-last/... 형태와 동일하며, 해당 필드의 가장 큰 범위에 대한 증분을 의미합니다. N/... 형태는 N-MAX/...를 의미하며, N부터 시작해서 해당 범위의 끝까지 증분을 사용합니다. 범위를 넘어가면 다시 처음으로 돌아가지 않습니다.
,
목록의 항목을 구분할 때 사용합니다. 예를 들어, 6번째 필드(요일)에 MON,WED,FRI를 사용하면 월요일, 수요일, 금요일을 의미합니다.
-
범위를 정의할 때 사용합니다. 예를 들어, 3번째 필드(시)에 9-17을 사용하면 오전 9시부터 오후 5시까지(포함)의 모든 시간을 의미합니다.
?
일(Day of month) 또는 요일(Day of week) 필드를 비워두기 위해 * 대신 사용할 수 있습니다.
| Cron 표현식 | 설명 |
|---|---|
0 * * * * * |
매분마다 실행(0초에) |
0 0 * * * * |
매시간 정각에 실행 |
0 0 0 * * * |
매일 자정에 실행 |
0 0 9 * * MON |
매주 월요일 오전 9시에 실행 |
0 0 0 1 * * |
매월 1일 자정에 실행 |
0 */5 * * * * |
5분마다 실행 |
0 0 9-18 * * MON-FRI |
평일(월-금) 오전 9시부터 오후 6시까지 매시간 실행 |
30 0 12 * * * |
매일 오후 12시 0분 30초에 실행 |
0 0 0 1 JAN * |
매년 1월 1일 자정에 실행 |

[참고]
월(Month)과 요일(Day of week) 필드 값은 대소문자를 구분하지 않습니다. "SUN", "Sun", "sun"은 모두 동일하게 인식됩니다.
API Gateway 트리거는 동일 프로젝트의 API Gateway 서비스를 활용하여 함수를 실행할 수 있습니다. API Gateway를 통해 더욱 세밀한 API 관리와 제어가 가능합니다.

https://{stageurl}/{경로}
curl -X GET "https://{stageurl}/{경로}?param1=value1¶m2=value2"
curl -X POST "https://{stageurl}/{경로}" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'

[참고]
API Gateway 트리거 수정은 API Gateway 서비스 내에서 기존 트리거를 삭제한 후 새로 생성하는 방식으로 진행됩니다.
이로 인해 해당 리소스에 적용된 플러그인이 전부 제거됩니다.
플러그인이 적용된 리소스 경로를 변경하려면 수정 대신 새로운 트리거를 추가하는 것을 권장합니다.
API Gateway 트리거를 생성하면 API Gateway 콘솔에서 추가 설정을 할 수 있습니다.
자세한 내용은 API Gateway 가이드를 참고하세요.
