Data Transformer 함수

이 페이지에서는 Application Integration에서 사용할 수 있는 Data Transformer 스크립트 태스크의 사전 정의된 추가 Jsonnet 함수 집합에 대해 설명합니다.

다음과 같은 사전 정의된 함수를 사용하려면 스크립트에서 functions 라이브러리를 가져와야 합니다. functions 라이브러리를 가져오면 표준 Jsonnet 함수와 사전 정의된 Data Transformer 함수를 모두 사용할 수 있습니다.

Application Integration은 Jsonnet 함수 라이브러리 v0.20.0을 지원합니다. Jsonnet 표준 함수에 대한 자세한 내용은 Jsonnet 표준 라이브러리를 참조하세요.

배열 함수


Average

문법
        
avg(arr)
      
설명 배열에 있는 모든 값의 숫자 평균을 계산합니다.
입력 매개변수 arr: 입력 배열입니다.
반환 유형 DOUBLE
출력 배열에 있는 모든 값의 평균을 반환합니다.

Contains

문법
        
contains(arr, elem)
      
설명 배열에서 지정된 요소의 일치하는 항목을 확인합니다.
입력 매개변수 arr: 입력 배열입니다.

elem: 검색할 배열 요소입니다.

반환 유형 BOOLEAN
출력 일치 항목이 있으면 TRUE, 그렇지 않은 경우 FALSE를 반환합니다.

Max Array

문법
        
maxArray(arr)
      
설명 배열에서 최댓값을 찾습니다.
입력 매개변수 arr: 입력 배열입니다.
반환 유형 입력 배열의 데이터 유형입니다.
출력 배열에서 찾은 가장 높은 값을 반환합니다.

Min Array

문법
        
minArray(arr)
      
설명 배열에서 최솟값을 찾습니다.
입력 매개변수 arr: 입력 배열입니다.
반환 유형 입력 배열의 데이터 유형입니다.
출력/th> 배열에서 찾은 최솟값을 반환합니다.

Remove

문법
        
remove(arr, elem)
      
설명 배열에서 지정된 요소를 삭제합니다.
입력 매개변수 arr: 입력 배열입니다.

elem: 삭제할 배열 요소입니다.

반환 유형 입력 배열의 데이터 유형입니다.
출력 지정된 요소를 삭제한 후 업데이트된 배열을 반환합니다.

Remove At

문법
        
removeAt(arr, index)
      
설명 지정된 색인의 배열에서 요소를 삭제합니다.
입력 매개변수 arr: 입력 배열입니다.

index: 삭제할 요소의 배열 색인입니다.

반환 유형 입력 배열의 데이터 유형입니다.
출력 지정된 요소를 삭제한 후 업데이트된 배열을 반환합니다.

Sum

문법
        
sum(arr)
      
설명 배열의 모든 값을 추가합니다.
입력 매개변수 arr: 입력 배열입니다.
반환 유형 입력 배열의 데이터 유형입니다.
출력 배열에 있는 모든 요소의 합계를 반환합니다.

GroupBy

문법
        
groupBy(array, function)
      
설명 반복 함수를 통해 각 배열 요소를 실행한 결과로부터 생성된 키로 구성되는 객체를 만듭니다. 예를 들어 f.groupBy([1,1.3,1.8],std.floor){"1": [1,1.3,1.8]}을 생성합니다.
입력 매개변수
  • array: 메서드가 반복되는 컬렉션입니다.

    function: 배열의 모든 요소에 대해 호출되는 함수입니다.

반환 유형 JSON
출력 구성된 집계 객체를 반환합니다.

Zip

문법
        
zip([arrays])
      
설명 지정된 배열의 첫 번째, 두 번째 등의 요소를 순서대로 포함하는 그룹화된 요소의 배열을 만듭니다. 예를 들어 f.zip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]])[[1,2,3],["one", "two", "three"],["I", "II", "III"]]을 생성합니다.
입력 매개변수 [arrays]: 이 매개변수는 처리할 배열을 보관합니다.
반환 유형 array
출력 다시 그룹화된 요소의 새 배열을 반환합니다.

Unzip

문법
        
unzip(array)
      
설명 그룹화된 요소의 배열을 만듭니다. 그룹화된 요소의 배열을 수락하고 압축 전 구성으로 요소를 다시 그룹화하는 배열을 만듭니다. 예를 들어 f.unzip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]])[[1,2,3],["one", "two", "three"],["I", "II", "III"]]을 생성합니다.
입력 매개변수 array: 이 매개변수에는 처리할 그룹화된 요소의 배열이 포함됩니다.
반환 유형 array
출력 다시 그룹화된 요소의 새 배열을 반환합니다.

집계 함수


XNOR

문법
        
xnor(a, b)
      
설명 지정된 불리언 값에 논리 XNOR 연산을 수행합니다.
입력 매개변수 a: 불리언 값입니다.

b: 불리언 값입니다.

반환 유형 BOOLEAN
출력 지정된 두 불리언의 XNOR을 반환합니다.

Xor

문법
        
xor(a, b)
      
설명 지정된 불리언 값에 대해 논리 XOR 연산을 수행합니다.
입력 매개변수 a: 불리언 값입니다.

b: 불리언 값입니다.

반환 유형 BOOLEAN
출력 지정된 두 불리언의 XOR을 반환합니다.

해시 함수


SHA1

문법
        
sha1(str)
      
설명 보안 해시 알고리즘 1(SHA-1) 알고리즘을 사용하여 입력 STRING의 암호화 해시를 계산합니다.
입력 매개변수 str: 입력 문자열입니다.
반환 유형 BYTES
출력 160비트(20바이트) 해시 값을 반환합니다.

SHA256

문법
        
sha256(str)
      
설명 보안 해시 알고리즘 256(SHA-256) 알고리즘을 사용하여 입력 STRING의 암호화 해시를 계산합니다.
입력 매개변수 str: 입력 문자열입니다.
반환 유형 BYTES
출력 256비트(32바이트) 해시 값을 반환합니다.

SHA512

문법
        
sha512(str)
      
설명 보안 해시 알고리즘 512(SHA-512) 알고리즘을 사용하여 입력 STRING의 암호화 해시를 계산합니다.
입력 매개변수 str: 입력 문자열입니다.
반환 유형 BYTES
출력 512비트(64바이트) 해시 값을 반환합니다.

SHA3

문법
        
sha3(str)
      
설명 보안 해시 알고리즘(SHA-3) 알고리즘을 사용하여 입력 STRING의 암호화 해시를 계산합니다.
입력 매개변수 str: 입력 문자열입니다.
반환 유형 BYTES
출력 512비트(64바이트) 해시 값을 반환합니다.

JSON 함수


Manifest XML

문법
        
manifestXml(json, format = "badgerfish", indent_output = false)
      
설명 지정된 입력 JSON 객체를 XML 문자열로 변환합니다.
입력 매개변수 json: 입력 JSON 객체입니다.

형식: 입력 JSON 표현 형식입니다.

indent_output: 출력 XML 문자열을 들여쓰기해야 하는지 여부를 나타내는 불리언 입력입니다. 기본값은 False입니다.

반환 유형 STRING
출력 제공된 JSON 객체 표현의 XML 문자열을 반환합니다.

Object Remove Key

문법
        
objectRemoveKey(obj, key)
      
설명 JSON 객체에서 속성을 삭제합니다.
입력 매개변수 obj: 입력 JSON 객체입니다.

키: 삭제할 JSON 속성입니다.

반환 유형 JSON
출력 지정된 속성과 해당 값을 삭제한 후 JSON 객체를 업데이트했습니다.

Parse XML

문법
        
parseXml(xml, format = "badgerfish")
      
설명 지정된 입력 XML 문자열을 JSON 객체로 파싱합니다.
입력 매개변수 xml: 입력 XML 문자열입니다.

형식: 출력 JSON 표현 형식입니다.

반환 유형 JSON
출력 제공된 XML 문자열의 JSON 객체 표현을 반환합니다.

Parse CSV With Header

문법
        
parseCsvWithHeader(input, delimiter = ",", overwrite_duplicate_headers = true)
      
설명 제공된 입력 csv 문자열을 json으로 파싱합니다. 첫 번째 행은 헤더로 간주됩니다. 예를 들어 f.parseCsvWithHeader("index,product,company\n1,Application Integration,Google\n2,Pubsub,Google")[{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}]을 생성합니다.
입력 매개변수 input: 파싱할 CSV 문자열입니다.

delimiter: 사용할 구분 기호 문자열입니다. 기본값은 ','입니다.

overwrite_duplicate_headers: 중복 헤더 값을 덮어쓰는 옵션입니다. false로 설정하면 중복 헤더 이름이 바뀝니다. 기본값은 true입니다.

반환 유형 JSON
출력 지정된 csv 문자열의 json 표현을 반환합니다.

Manifest CSV

문법
        
manifestCsv(json, headers = null)
      
설명 지정된 json을 csv 문자열로 변환합니다. 예를 들어 f.manifestCsv([{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}])index,product,company\n1,Application Integration,Google\n2,Pubsub,Google을 생성합니다.
입력 매개변수 json: csv로 변환할 JSON입니다.

headers: csv 출력을 위한 헤더 목록입니다. 값을 제공하지 않으면 모든 헤더가 사용됩니다.

반환 유형 STRING
출력 json의 csv 문자열을 지정된 형식으로 반환합니다.

수학 함수


Is Decimal

문법
        
isDecimal(num)
      
설명 지정된 숫자가 십진수인지 확인합니다.
입력 매개변수 num: 입력 숫자입니다.
반환 유형 BOOLEAN
출력 숫자가 십진수이면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Is Even

문법
        
isEven(num)
      
설명 지정된 숫자가 짝수인지 확인합니다.
입력 매개변수 num: 입력 숫자입니다.
반환 유형 BOOLEAN
출력 숫자가 짝수이면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Is Integer

문법
        
isInteger(num)
      
설명 지정된 숫자가 정수인지 확인합니다.
입력 매개변수 num: 입력 숫자입니다.
반환 유형 BOOLEAN
출력 숫자가 정수이면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Is Odd

문법
        
isOdd(num)
      
설명 지정된 숫자가 홀수인지 확인합니다.
입력 매개변수 num: 입력 숫자입니다.
반환 유형 BOOLEAN
출력 숫자가 홀수이면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Random Number

문법
        
randomNumber(lowerBound, upperBound)
      
설명 지정된 범위 사이에 임의의 실수를 생성합니다.
입력 매개변수 lowerBound: 하한 범위 값(포함)입니다. 기본값은 0입니다.

upperBound: 상한 범위 값(제외)입니다. 기본값은 1입니다.

반환 유형 실수입니다.
출력 lowerBoundupperBound 사이의 임의의 실수를 반환합니다.

Round

문법
        
round(input)
      
설명 숫자를 가장 가까운 정수로 반올림합니다.
입력 매개변수 input: 반올림할 값입니다.
반환 유형 INTEGER
반환 값 가장 가까운 반올림된 정수를 반환합니다.

문자열 함수


Equals Ignore Case

문법
        
equalsIgnoreCase(str1, str2)
      
설명 문자열 대소문자(소문자 또는 대문자)와 상관없이 지정된 두 문자열 값을 비교합니다.
입력 매개변수 str1: 입력 문자열입니다.

str2: 입력 문자열입니다.

반환 유형 BOOLEAN
출력 지정된 값이 기존 값과 일치하면(대소문자 무시) TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Is Empty

문법
        
isEmpty(str)
      
설명 지정된 문자열의 길이가 0인지 확인합니다.
입력 매개변수 str: 입력 문자열입니다.
반환 유형 BOOLEAN
출력 문자열이 비어 있으면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Match

문법
        
match(str, regexp)
      
설명 정규 표현식과 문자열을 일치시킨 결과를 검색합니다.
입력 매개변수 str: 입력 문자열입니다.

regexp: re2 정규 표현식입니다.

반환 유형 ARRAY
출력 정규 표현식 regexp와 일치하는 str의 모든 하위 문자열 배열을 반환합니다. 일치하는 항목이 없으면 빈 배열을 반환합니다.

Trim

문법
        
trim(str)
      
설명 지정된 문자열의 선행 및 후행 공백을 모두 삭제합니다.
입력 매개변수 str: 입력 문자열입니다.
반환 유형 STRING
출력 선행 및 후행 공백이 삭제된 문자열의 복사본을 반환합니다.

타임스탬프 함수


Date Format

문법
        
dateFormat(timestamp, format_string, timezone, current_format)
      
설명 지정된 format_string에 따라 타임스탬프의 형식을 지정합니다.
입력 매개변수 timestamp: 입력 타임스탬프입니다.

format_string: 새 타임스탬프 형식입니다. 새 타임스탬프 형식 문자열을 만드는 데 사용할 수 있는 형식 요소 목록은 지원되는 타임스탬프 형식 요소를 참조하세요.

timezone: 제공된 입력 타임스탬프의 시간대입니다. 기본값은 UTC입니다.

current_format: 제공된 입력 타임스탬프를 파싱하는 데 사용되는 형식입니다. 기본값은 E(에포크)입니다.

반환 유형 STRING
출력 지정된 format_string을 기반으로 입력 timestamp를 변환한 후 새 문자열을 반환합니다.

지원되는 타임스탬프 형식 요소

다음 표에서는 dateFormat() 함수에 지원되는 형식 요소를 보여줍니다.

형식 요소 설명
YYYY 4자리 연도 2023
YY 해당 연도의 마지막 2자리 숫자 23
MMMM 제목 표기법에서 월의 이름 March
MMM 제목 표기법에서 월의 약어 Mar
MM 01~12까지의 월 03
M 1~12까지의 월 3
DDDD 제목 표기법에서 요일의 이름 Monday
DDD 요일의 약어 Mon
DD 01~31일까지의 날짜 06
D 1~31일까지의 날짜 6
HH 00~23 사이 24시간 형식의 시간 15
hh 01~12 사이 12시간 형식의 시간 03
h 1~12 사이 12시간 형식의 시간 3
mm 00~59까지의 분 04
m 0~59까지의 분 4
ss 00~59까지의 초 08
s 0~59까지의 초 8
FFFFFFFFF 지정된 숫자 오른쪽에 있는 0을 포함하여 9자리로 된 소수점 이하 초 00.123456789
FFFFFFFF 지정된 숫자 오른쪽에 있는 0을 포함하여 8자리로 된 소수점 이하 초 00.12345678
FFFFFFF 지정된 숫자 오른쪽에 있는 0을 포함하여 7자리로 된 소수점 이하 초 00.1234567
FFFFFF 지정된 숫자 오른쪽에 있는 0을 포함하여 6자리로 된 소수점 이하 초 00.123456
FFFFF 지정된 숫자 오른쪽에 있는 0을 포함하여 5자리로 된 소수점 이하 초 00.12345
FFFF 지정된 숫자 오른쪽에 있는 0을 포함하여 4자리로 된 소수점 이하 초 00.1234
FFF 지정된 숫자 오른쪽에 있는 0을 포함하여 3자리로 된 소수점 이하 초 00.123
FF 지정된 숫자 오른쪽에 있는 0을 포함하여 2자리로 된 소수점 이하 초 00.12
F 지정된 숫자 오른쪽에 있는 0을 포함하여 1자리로 된 소수점 이하 초 00.1
fffffffff 9자리의 소수점 이하 초 987654321
ffffffff 8자리의 소수점 이하 초 98765432
fffffff 7자리의 소수점 이하 초 9876543
ffffff 6자리의 소수점 이하 초 987654
fffff 5자리의 소수점 이하 초 98765
ffff 4자리의 소수점 이하 초 9876
fff 3자리의 소수점 이하 초 987
ff 2자리의 소수점 이하 초 98
f 1자리의 소수점 이하 초 9
tt 자오선 표시(오전 또는 오후). 형식을 지정할 때는 AM 또는 PM입니다. PM
t 짧은 자오선 표시(오전 또는 오후). 소문자 am 또는 pm에 매핑됩니다. pm
K 시간대 이름 PST
kk 시간대는 ±xx:xx 형식입니다. -8:00:00
k 시간대는 ±xxxx 형식입니다. -8000

Is Leap Year

문법
        
isLeapYear(year)
      
설명 지정된 연도가 윤년인지 확인합니다.
입력 매개변수 year: 입력 연도(실수)입니다.
반환 유형 BOOLEAN
출력 연도가 윤년인 경우 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.

Now In Millis

문법
        
nowInMillis()
      
설명 통합의 현재 유닉스 시간을 밀리초 단위로 반환합니다.
입력 매개변수 해당 사항 없음
반환 유형 INT64
출력 현재 유닉스 시간을 밀리초 단위로 반환합니다.

유틸리티 함수


UUID

문법
        
uuid()
      
설명 임의의 범용 고유 식별자(UUID)를 STRING으로 생성합니다. 반환되는 STRING은 16진수 32개가 하이픈으로 구분된 5개 그룹으로 나뉜 8-4-4-4-12 형식으로 구성됩니다. 16진수는 RFC 4122 섹션 4.4에 따라 임의 비트 122개와 고정 비트 6개를 나타냅니다. 반환되는 STRING은 소문자입니다.
입력 매개변수 해당 사항 없음
반환 유형 STRING
출력 생성된 UUID를 문자열 형식으로 반환합니다.

Integration name

문법
        
getIntegrationName()
      
설명 현재 통합 이름을 가져옵니다.
입력 매개변수 해당 사항 없음
반환 유형 STRING
출력 현재 통합 이름을 반환합니다.

Integration region

문법
        
getIntegrationRegion()
      
설명 현재 통합 리전을 가져옵니다.
입력 매개변수 해당 사항 없음
반환 유형 STRING
출력 현재 통합 리전을 반환합니다.

Integration version ID

문법
        
getIntegrationVersionId()
      
설명 현재 통합의 통합 버전 ID를 가져옵니다.
입력 매개변수 해당 사항 없음
반환 유형 STRING
출력 현재 통합의 통합 버전 ID를 반환합니다.

Integration version number

문법
        
getIntegrationVersionNumber()
      
설명 현재 통합의 버전 번호를 가져옵니다.
입력 매개변수 해당 사항 없음
반환 유형 NUMBER
출력 현재 통합의 버전 번호를 반환합니다.

Execution ID

문법
        
getExecutionId()
      
설명 현재 통합 실행의 실행 ID를 가져옵니다.
입력 매개변수 해당 사항 없음
반환 유형 STRING
출력 현재 통합 실행의 실행 ID를 반환합니다.

Project ID

문법
        
getProjectId()
      
설명 현재 통합의 Google Cloud 프로젝트 ID를 가져옵니다.
입력 매개변수 해당 사항 없음
반환 유형 STRING
출력 현재 통합의 Google Cloud 프로젝트 ID를 반환합니다.

권장사항