3장. Knative CLI 플러그인
Knative(kn
) CLI는 플러그인 사용을 지원하므로 사용자 정의 명령 및 코어 배포에 포함되지 않은 기타 공유 명령을 추가하여 kn
설치 기능을 확장할 수 있습니다. Knative(kn
) CLI 플러그인은 기본 kn
기능과 동일한 방식으로 사용됩니다.
현재 Red Hat은 kn-source-kafka
플러그인과 kn-event
플러그인을 지원합니다.
kn-event
플러그인은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
3.1. kn-event 플러그인을 사용하여 이벤트 빌드
kn event build
명령의 빌더와 같은 인터페이스를 사용하여 이벤트를 빌드할 수 있습니다. 그런 다음 나중에 해당 이벤트를 보내거나 다른 컨텍스트에서 사용할 수 있습니다.
사전 요구 사항
-
Knative(
kn
) CLI가 설치되어 있습니다.
프로세스
이벤트를 빌드합니다.
$ kn event build --field <field-name>=<value> --type <type-name> --id <id> --output <format>
다음과 같습니다.
-
--field
플래그는 이벤트에 필드-값 쌍으로 데이터를 추가합니다. 여러 번 사용할 수 있습니다. -
--type
플래그를 사용하면 이벤트 유형을 지정하는 문자열을 지정할 수 있습니다. -
--id
플래그는 이벤트의 ID를 지정합니다. json
또는yaml
인수를--output
플래그와 함께 사용하여 이벤트의 출력 형식을 변경할 수 있습니다.이러한 플래그는 모두 선택 사항입니다.
간단한 이벤트 만들기
$ kn event build -o yaml
YAML 형식의 결과 이벤트
data: {} datacontenttype: application/json id: 81a402a2-9c29-4c27-b8ed-246a253c9e58 source: kn-event/v0.4.0 specversion: "1.0" time: "2021-10-15T10:42:57.713226203Z" type: dev.knative.cli.plugin.event.generic
샘플 트랜잭션 이벤트 빌드
$ kn event build \ --field operation.type=local-wire-transfer \ --field operation.amount=2345.40 \ --field operation.from=87656231 \ --field operation.to=2344121 \ --field automated=true \ --field signature='FGzCPLvYWdEgsdpb3qXkaVp7Da0=' \ --type org.example.bank.bar \ --id $(head -c 10 < /dev/urandom | base64 -w 0) \ --output json
JSON 형식의 결과 이벤트
{ "specversion": "1.0", "id": "RjtL8UH66X+UJg==", "source": "kn-event/v0.4.0", "type": "org.example.bank.bar", "datacontenttype": "application/json", "time": "2021-10-15T10:43:23.113187943Z", "data": { "automated": true, "operation": { "amount": "2345.40", "from": 87656231, "to": 2344121, "type": "local-wire-transfer" }, "signature": "FGzCPLvYWdEgsdpb3qXkaVp7Da0=" } }
-