manuallatest제품 매뉴얼 / 차원 테이블 API
차원 테이블 API
호출 방법은 Open API 문서의 호출 방법 설명을 참고하십시오.
1. 차원 테이블 생성
주의
- 요청 본문은 차원 테이블의 내용입니다. 자세한 내용은 차원 테이블 생성 파라미터
createParam의 설정을 참조하십시오 - 기본 최대 파일 크기 제한은 200M입니다
인터페이스 URL
/open/dict-create?token=xxx&projectId=0
요청 방식
POST
Content-Type
text/csv
요청 Query 파라미터
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 필수 여부 | 파라미터 설명 |
|---|---|---|---|---|
| token | xxx | String | 예 | 조회 키 |
| projectId | 0 | Integer | 예 | 프로젝트 ID |
| createParam | {"mainColumn":{"property":{"columnName":"channel","tableType":"event"}},"columns":[{"property":{"columnName":"channel_id","selectType":"string"}},{"property":{"columnName":"channel_name","columnDesc":"채널 타입","selectType":"string"}}]} | String | 예 | 생성할 차원 열 정보 설명 |
차원 테이블 생성 파라미터 createParam 설정
차원 속성 생성
여기서 주 필드는 channel이며 차원 테이블의 첫 번째 열 channel에 대응합니다. 추가할 차원 테이블 속성은 channel_name입니다
1. 차원 테이블 예시
- 차원 테이블 데이터는 csv 형식을 사용합니다. 첫 번째 열은 연관 필드로 차원 테이블 속성으로 생성되지 않으며, 두 번째 열부터 추가할 차원 테이블 속성입니다
- 데이터의 첫 번째 행은 필드 이름이고, 두 번째 행부터 데이터입니다
channel,channel_name
1,룽텅 1서버
2,룽텅 2서버
3,룽텅 3서버
2. createParam 예시(이벤트 테이블의 channel 필드에 위 차원 테이블을 생성)
columns 리스트의 요소 순서는 차원 테이블 데이터의 열 순서와 같아야 하며, 이름도 같아야 합니다. 그중 첫 번째 요소(첫 번째 연관 열에 대응)의 이름은 상위 요소와 같아도 되고 달라도 됩니다(다를 경우 문자로 시작하고 영문자, 숫자, 밑줄만 포함할 수 있음).
{
"mainColumn": {
"property": {
"columnName": "channel",
"tableType": "event",
"timestampJoinFormat": null
}
},
"columns": [
{
"property": {
"columnName": "channel",
"selectType": "number"
}
},
{
"property": {
"columnName": "channel_name",
"columnDesc": "채널 타입",
"selectType": "string"
}
}
]
}
3. createParam 필드 설명
mainColumn 노드(차원 테이블을 생성할 주 필드를 설명하는 노드)
| 속성 이름 | 속성 설명 |
|---|---|
| property | 주 속성(물리적 속성, 가상 속성 모두 가능) |
| columnName | 주 속성 필드 이름 |
| tableType | 주 속성이 속한 테이블 타입, event: 이벤트 속성, user: 유저 속성 |
| timestampJoinFormat | 주 속성이 시간 타입(timestamp)이면 타임스탬프로 단위 계산을 한 후 차원 속성을 바인딩하는 것을 지원합니다 |
timestampJoinFormat은 다음 단위 타입을 지원합니다.
| 값 | 설명 |
|---|---|
| DATE_STR_YEAR | 속성을 "yyyy" 문자열로 포맷한 후 차원 속성을 바인딩 |
| DATE_STR_MONTH | 속성을 "yyyy-MM"으로 포맷한 후 차원 속성을 바인딩 |
| DATE_STR_DAY | 속성을 "yyyy-MM-dd"로 포맷한 후 차원 속성을 바인딩 |
| DATE_STR_HOUR | 속성을 "yyyy-MM-dd hh"로 포맷한 후 차원 속성을 바인딩 |
| DATE_STR_MINUTE | 속성을 "yyyy-MM-dd HH:mm"으로 포맷한 후 차원 속성을 바인딩 |
| DATE_STR_SECOND | 속성을 "yyyy-MM-dd HH:mm:ss"로 포맷한 후 차원 속성을 바인딩 |
| DATE_STR_MILLISECOND | 속성을 "yyyy-MM-dd HH:mm:ss.SSS"로 포맷한 후 차원 속성을 바인딩 |
columns 리스트(차원 필드를 설명하는 노드)
columns 리스트의 요소 순서는 차원 테이블 데이터의 열 순서와 같아야 합니다.
| 속성 이름 | 속성 설명 |
|---|---|
| property | 차원 필드 속성 리스트 |
| columnName | 차원 필드 이름 |
| columnDesc | 차원 필드 설명, 즉 필드의 표시 이름(선택 사항) |
| selectType | 차원 필드 타입: number 숫자, bool 불리언, string 문자열, datetime 날짜 타입, array_string 리스트(주키 열만 가능, 나머지 열은 불가) |
4. 생성 결과
생성에 성공하면 속성 이름이 channel@channel_name인 차원 테이블 속성을 확인할 수 있습니다
성공 응답 예시
{
"data": {
"duplcatedMainKeyColumns": ["activity_type@type_test"],
"duplcatedMainKeyLineNum": 2,
"mainKeyErrorColumns": ["activity_type@type_test"],
"mainKeyErrorLineNum": 3,
"successLineNum": 27,
"totalLineNum": 40,
"typeErrorColumns": ["numwrong_test", "boolwrong_test"],
"typeErrorLineNum": 8
},
"return_code": 0,
"return_message": "success"
}
| $$파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | 0 | Integer | 반환 코드 |
| return_message | success | String | 반환 정보 |
| data | - | Object | 반환 결과 |
| data.duplcatedMainKeyColumns | ["activity_type@type_test"] | List | 연관 주 필드가 중복된 열 이름 |
| data.duplcatedMainKeyLineNum | 2 | Integer | 연관 주 필드가 중복된 행 수(자동으로 폐기됨) |
| data.mainKeyErrorColumns | ["activity_type@type_test"] | List | 연관 주 필드 해석 오류가 발생한 열 이름 |
| data.mainKeyErrorLineNum | 3 | Integer | 연관 주 필드 해석 오류가 발생한 행 수(자동으로 폐기됨) |
| data.successLineNum | 27 | Integer | 성공한 행 수 |
| data.totalLineNum | 40 | Integer | 총 행 수 |
| data.typeErrorColumns | ["numwrong_test", "boolwrong_test"] | List | 기타 필드 타입 오류가 발생한 열 이름 |
| data.typeErrorLineNum | 8 | Integer | 기타 필드 타입 오류가 발생한 행 수(null로 설정됨) |
오류 응답 예시
{
"return_code": -1008,
"return_message": "업로드 파일 크기는 209715200바이트를 초과할 수 없습니다"
}
| 파라미터 이름 | 예시 값 | 파라미터 타입 | 파라미터 설명 |
|---|---|---|---|
| return_code | -1100 | Integer | 반환 코드 |
| return_message | 업로드 파일 크기는 209715200바이트를 초과할 수 없습니다 | String | 반환 정보 |
curl 예시
curl --header 'Content-Type: text/csv' --data-binary '@test.csv' 'http://ta2:8992/open/dict-create?token=YOUR_TOKEN&projectId=377&createParam=%7B%22mainColumn%22%3A%7B%22property%22%3A%7B%22columnName%22%3A%22channel%22%2C%22tableType%22%3A%22event%22%7D%7D%2C%22columns%22%3A%5B%7B%22property%22%3A%7B%22columnName%22%3A%22channel_id%22%2C%22selectType%22%3A%22string%22%7D%7D%2C%7B%22property%22%3A%7B%22columnName%22%3A%22channel_name%22%2C%22columnDesc%22%3A%22%E6%B8%A0%E9%81%93%E7%B1%BB%E5%9E%8B%22%2C%22selectType%22%3A%22string%22%7D%7D%5D%7D'
이 문서가 도움이 되었나요?

