- 인쇄
- PDF
Put Trigger
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다.
Cloud Functions 트리거를 생성, 수정합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
메서드 | URI |
---|---|
PUT | /triggers/{triggerName} |
요청 헤더
Cloud Funtions API에서 공통으로 사용하는 헤더에 대한 자세한 내용은 Cloud Functions 공통 헤더를 참조해 주십시오.
요청 경로 파라미터
파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
triggerName | String | Required | 트리거 이름
|
요청 쿼리 파라미터
파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
platform | String | Optional | 플랫폼 구분
|
type | String | Required | 트리거 유형
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다. 요청 바디에 필드가 없을 경우, {}
빈 JSON Object 형태로 요청해야 합니다.
공통
공통 요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
description | String | Optional | 트리거 설명(Byte)
|
parameters | Object | Optional | 트리거의 기본 파라미터
|
cron 트리거
cron 트리거 요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
cronOption | String | Required | cron 실행 옵션 |
GitHub 트리거
GitHub 트리거 요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
credential | Object | Required | GitHub 정보 |
credential.username | String | Required | GitHub 사용자 이름 |
credential.accessToken | String | Required | GitHub 액세스 토큰 |
credential.repository | String | Required | GitHub 리포지토리
|
events | String[] | Required | 트리거할 이벤트
|
link | Object | Conditional | API Gateway 정보
|
link.productName | String | Conditional | API Gateway의 상품 이름 |
link.apiName | String | Conditional | API Gateway API 이름 |
link.stageName | String | Conditional | API Gateway의 스테이지 이름 |
Cloud Insight 트리거
Cloud Insight 트리거 요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
insightLink | Object[] | Optional | 연결할 Cloud Insight 이벤트 규칙 정보 |
insightLink[].prodKey | String | Conditional | Cloud Insight 이벤트 규칙의 prodKey
|
insightLink[].ruleGrpId | String | Conditional | Cloud Insight 이벤트 규칙의 ruleGrpId
|
insightLink[].reminderTime | Integer | Optional | Cloud Insight 이벤트 규칙의 리마인드 알림 주기(분)
|
insightLink[].enableNotiWhenEventClose | Boolean | Optional | 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부
|
Object Storage 트리거
Object Storage 트리거 요청 바디에 대한 설명은 다음과 같습니다.
Object Storage 트리거에 연결된 액션이 Object Storage 이벤트 규칙과 동일한 버킷을 사용할 경우, 재귀 호출로 인한 사용량 증가 및 과다한 비용이 발생할 수 있습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
objectStorageLink | Object[] | Required | 연결할 Object Storage 이벤트 규칙 정보 |
objectStorageLink[].bucketName | String | Required | Object Storage의 버킷 이름 |
objectStorageLink[].eventRuleName | String | Required | Object Storage의 이벤트 규칙 이름 |
SourceCommit 트리거
SourceCommit 트리거 요청 바디에 대한 설명은 다음과 같습니다.
SourceCommit 트리거는 한국 리전의 VPC 플랫폼에서만 지원합니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
sourceCommitLink | Object[] | Required | 연결할 SourceCommit 리포지토리의 웹훅 정보 |
sourceCommitLink[].enable | Boolean | Optional | SourceCommit 웹훅 활성화 여부
|
sourceCommitLink[].repositoryName | String | Required | SourceCommit 리포지토리 이름 |
sourceCommitLink[].webhookName | String | Required | SourceCommit 웹훅 이름 |
Secret Manager 트리거
Secret Manager 트리거 요청 바디에 대한 설명은 다음과 같습니다.
- Secret Manager 트리거는 한국 리전의 VPC 플랫폼에서만 지원합니다.
- 하나의 트리거에는 여러 시크릿이 연결될 수 있지만, 하나의 시크릿에는 하나의 트리거만 연결 가능합니다.
필드 | 타입 | 설명 |
---|---|---|
secretManagerLink | Object[] | Required |
secretManagerLink[].secretName | String | Required |
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/ncf/api/v2/triggers/trigger001?platform=vpc&type=cron' \
--header 'Content-Type: application/json' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '<하단 참조>'
{
"description": "Cron Trigger",
"parameters": {
"period": "daily"
},
"cronOption": "30 1 * * *"
}
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
공통
공통 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.name | String | 트리거 이름 |
content.resourceId | String | 트리거의 리소스 ID |
content.triggerType | String | 트리거 유형 |
content.namespace | String | 사용자 네임스페이스 |
content.description | String | 트리거 설명 |
content.parameters | Object | 트리거의 기본 파라미터 |
content.rules | Object | 트리거 액션 연결 정보 |
cron 트리거
cron 트리거 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.cronOption | String | cron 실행 옵션 |
GitHub 트리거
GitHub 트리거 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.credential | Object | GitHub 정보 |
content.credential.username | String | GitHub 사용자 이름 |
content.credential.accessToken | String | 트리거 유형 |
content.namespace | String | GitHub 액세스 토큰 |
content.credential.repository | String | GitHub 리포지토리 |
content.events | String[] | 트리거 할 이벤트 종류 |
Cloud Insight 트리거
Cloud Insight 트리거 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.insightLink | Object[] | 연결된 Cloud Insight 이벤트 규칙 정보 |
content.insightLink[].prodKey | String | Cloud Insight 이벤트 규칙의 prodKey |
content.insightLink[].ruleGrpId | String | Cloud Insight 이벤트의 ruleGrpId |
content.insightLink[].reminderTime | Integer | Cloud Insight 이벤트의 리마인드 알림 주기(분) |
content.insightLink[].enableNotiWhenEventClose | Boolean | 이벤트 종료 시 Cloud Insight 이벤트 규칙 호출 여부 |
Object Storage 트리거
Object Storage 트리거 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.objectStorageLink | Object[] | 연결된 Object Storage 이벤트 규칙 정보 |
content.objectStorageLink[].bucketName | String | Object Storage의 버킷 이름 |
content.objectStorageLink[].eventRuleName | String | Object Storage의 이벤트 규칙 이름 |
SourceCommit 트리거
SourceCommit 트리거 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.sourceCommitLink | Object[] | 연결된 SourceCommit 리포지토리의 웹훅 정보 |
content.sourceCommitLink[].enable | Boolean | SourceCommit 웹훅 활성화 여부 |
content.sourceCommitLink[].repositoryName | String | SourceCommit 리포지토리 이름 |
content.sourceCommitLink[].webhookName | String | SourceCommit 웹훅 이름 |
Secret Manager 트리거
Secret Manager 트리거 응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 설명 |
---|---|---|
content.secretManagerLink | Object[] | 연결된 Secret Manager 시크릿 정보 |
content.secretManagerLink[].secretId | String | Secret Manager의 시크릿 ID |
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
HTTP 상태 코드 | 코드 | 메시지 | 설명 |
---|---|---|---|
400 | 80500 | TRIGGER_INVALID_NAME | 잘못된 트리거 이름 |
400 | 80502 | TRIGGER_PLATFORM_MISMATCH | 트리거의 플랫폼 변경 불가 |
400 | 80503 | TRIGGER_INVALID_TYPE | 잘못된 트리거 유형 |
400 | 80504 | TRIGGER_TYPE_MISMATCH | 트리거 유형 변경 불가 |
400 | 80505 | TRIGGER_BODY_INVALID_TYPE | 잘못된 요청 바디 필드 타입 |
400 | 80506 | TRIGGER_BODY_MISSING_FIELD | 요청 바디 필수 필드 누락 |
400 | 80507 | TRIGGER_BODY_INVALID_VALUE | 잘못된 요청 바디 필드 값 |
400 | 80700 | NO_APIGW_SUBSCRIPTION | API Gateway 이용 신청 필요 |
400 | 80710 | NO_INSIGHT_SUBSCRIPTION | Cloud Insight 이용 신청 필요 |
400 | 80711 | INSIGHT_INVALID_EVENT_RULE | 잘못된 Cloud Insight 이벤트 규칙 정보 |
400 | 80730 | NO_OBJECT_STORAGE_SUBSCRIPTION | Object Storage 이용 신청 필요 |
400 | 80731 | OBJECT_STORAGE_INVALID_EVENT_RULE | 잘못된 Object Storage 이벤트 규칙 정보 |
400 | 80740 | SOURCE_COMMIT_INVALID_WEBHOOK | 잘못된 SourceCommit 웹훅 정보 |
400 | 80750 | NO_SECRET_MANGER_SUBSCRIPTION | Secret Manager 이용 신청 필요 |
400 | 80751 | SECRET_MANAGER_INVALID_SECRET | 잘못된 Secret Manager 시크릿 정보 |
400 | 80752 | SECRET_MANAGER_SECRET_ROTATING | 교체 중인 Secret Manager 시크릿 |
403 | 80002 | SUB_ACC_NO_PERMISSION | 상세 권한 오류 |
409 | 80011 | RESOURCE_NAME_CONFLICT | 중복된 리소스 이름 |
422 | 80508 | TRIGGER_COUNT_EXCEED | 최대 트리거 수 초과 |
- | 80005 | INTEGRATION_EXCEPTION | 연동 서비스 이용 신청 필요 |
응답 예시
응답 예시는 다음과 같습니다.
{
"content": {
"description": "",
"name": "trigger001",
"namespace": "****YBNz****",
"parameters": {
"period": "daily"
},
"resourceId": "4ci**",
"rules": {
"****YBNz****/qr98**: {
"action": {
"name": "action001",
"path": "****YBNz****"
},
"status": "active"
},
"triggerType": "cron"
}
}