스크립트 개발 / 커넥터 객체 DFF.CONN / DataFlux Func Sidecar
Sidecar 커넥터 작업 객체를 사용하면 사용자가 Sidecar를 호출하여 Shell 명령을 실행할 수 있습니다.
DFF.CONN(...) 매개변수는 다음과 같습니다:
| 매개변수 | 타입 | 필수 / 기본값 | 설명 |
|---|---|---|---|
connector_id |
str | 필수 | 커넥터 ID |
timeout |
int/float | 10 |
현재 작업 객체의 기본 HTTP 요청 타임아웃 시간(초) |
Sidecar 가이드
Sidecar의 전체 사용 방법은 Sidecar 가이드를 참조하십시오
.shell(...)
Sidecar를 호출하여 Shell 명령을 실행합니다. 매개변수는 다음과 같습니다:
| 매개변수 | 타입 | 필수 / 기본값 | 설명 |
|---|---|---|---|
cmd |
str | 필수 | 실행할 Shell 명령 예: "ls -l" |
wait |
bool | True |
실행 완료를 기다릴지 여부False로 설정하면 이 함수는 즉시 반환되며 터미널 출력을 반환하지 않습니다 |
workdir |
str | None |
Shell 명령이 실행되는 작업 디렉터리 예: "/home/dev" |
envs |
dict | None |
환경 변수, 키와 값 모두 문자열 예: {"MY_NAME": "Tom"} |
callback_url |
str | None |
콜백 주소, 명령 실행 후 stdout 및 stderr를 POST 방식으로 지정된 URL로 전송합니다일반적으로 wait=False 매개변수와 함께 사용하여 비동기 콜백을 구현합니다 |
timeout |
int/float | None |
이번 요청의 타임아웃 시간 참고: 이 매개변수는 Shell 명령의 타임아웃이 아니라 Func가 Sidecar에 요청하는 타임아웃입니다 생략하면 작업 객체의 기본값인 10초를 사용합니다 |
이 메서드는 (status_code, result)를 반환합니다: status_code는 Sidecar의 HTTP 응답 상태 코드이고, result는 파싱된 응답 내용입니다. HTTP 상태 코드가 400 이상이면 예외가 발생합니다.
.call(...)
Sidecar에 커넥터 서명이 포함된 HTTP 요청을 전송합니다. 매개변수는 다음과 같습니다:
| 매개변수 | 타입 | 필수 / 기본값 | 설명 |
|---|---|---|---|
method |
str | 필수 | HTTP 요청 메서드; "GET /path" 형식으로도 작성할 수 있습니다 |
path |
str | None |
/로 시작하는 요청 경로; 생략하면 method에서 분리합니다 |
query |
dict | None |
URL 쿼리 매개변수 |
body |
- | None |
요청 본문; 문자열이 아닌 값은 먼저 JSON으로 직렬화됩니다 |
timeout |
int/float | None |
이번 요청의 타임아웃 시간, 생략하면 작업 객체의 기본값을 사용합니다 |
반환 값은 .shell(...)과 동일합니다.
실행 후 콜백
SidecarHelper.shell(...)을 호출하고 callback_url 매개변수를 지정하면, Sidecar는 Shell 명령을 실행한 후 표준 출력 stdout 및 표준 오류 stderr를 POST 방식으로 이 주소로 전송합니다.
구체적인 구조는 다음과 같습니다:
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
이 구조는 DataFlux Func의 '함수 API' 표준 POST 방식과 일치하므로, '함수 API'를 사용하여 실행 후 콜백을 직접 받을 수 있습니다