파일 서식 구성
Destination SDK은 통합 요구 사항에 따라 구성할 수 있는 유연한 기능 세트를 지원합니다. 이러한 기능 중 CSV 파일 형식을 지원합니다.
Destination SDK을 통해 파일 기반 대상을 만들 때 내보낸 CSV 파일의 형식을 지정하는 방법을 정의할 수 있습니다. 다음과 같은 다양한 서식 옵션을 사용자 지정할 수 있습니다.
- CSV 파일에 헤더를 포함할지 여부
- 값 따옴표에 사용할 문자
- 빈 값은 어떤 모습이어야 합니까?
대상 구성에 따라 사용자는 파일 기반 대상에 연결할 때 UI에 특정 옵션이 표시됩니다. 파일 기반 대상에 대한 파일 서식 옵션 설명서에서 이러한 옵션이 어떻게 표시되는지 확인할 수 있습니다.
파일 형식 설정은 파일 기반 대상에 대한 대상 서버 구성의 일부입니다.
이 구성 요소가 Destination SDK으로 만든 통합에 어떻게 적합한지 이해하려면 구성 옵션 설명서에서 다이어그램을 참조하거나 Destination SDK을 사용하여 파일 기반 대상을 구성하는 방법에 대한 안내서를 참조하십시오.
/authoring/destination-servers
끝점을 통해 파일 서식 옵션을 구성할 수 있습니다. 이 페이지에 표시된 구성 요소를 구성할 수 있는 자세한 API 호출 예는 다음 API 참조 페이지를 참조하십시오.
이 페이지에서는 내보낸 CSV
개 파일에 대해 지원되는 모든 파일 형식 설정을 설명합니다.
지원되는 통합 유형 supported-integration-types
이 페이지에 설명된 기능을 지원하는 통합 유형에 대한 자세한 내용은 아래 표를 참조하십시오.
지원되는 매개 변수 supported-parameters
Experience Platform에서 받은 파일을 최적으로 읽고 해석하기 위해 내보낸 파일의 여러 속성을 대상 파일 수신 시스템의 요구 사항과 일치하도록 수정할 수 있습니다.
fileConfigurations
섹션이 필수가 아닙니다. CSV 옵션에 대한 API 호출에 값을 전달하지 않으면 아래의 참조 표에 있는 기본 값이 사용됩니다.사용자가 구성 옵션을 선택할 수 없는 CSV 옵션 file-configuration-templating-none
아래 구성 예제에서 모든 CSV 옵션은 사전 정의되어 있습니다. 각 csvOptions
매개 변수에 정의된 내보내기 설정은 최종적이며 사용자가 수정할 수 없습니다.
"fileConfigurations": {
"compression": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.compression}}"
},
"fileType": {
"templatingStrategy": "PEBBLE_V1",
"value": "{{customerData.fileType}}"
},
"csvOptions": {
"quote": {
"templatingStrategy": "NONE",
"value": "\""
},
"quoteAll": {
"templatingStrategy": "NONE",
"value": "false"
},
"escape": {
"templatingStrategy": "NONE",
"value": "\\"
},
"escapeQuotes": {
"templatingStrategy": "NONE",
"value": "true"
},
"header": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreLeadingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"ignoreTrailingWhiteSpace": {
"templatingStrategy": "NONE",
"value": "true"
},
"nullValue": {
"templatingStrategy": "NONE",
"value": ""
},
"dateFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd"
},
"timestampFormat": {
"templatingStrategy": "NONE",
"value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
},
"charToEscapeQuoteEscaping": {
"templatingStrategy": "NONE",
"value": "\\"
},
"emptyValue": {
"templatingStrategy": "NONE",
"value": ""
}
},
"maxFileRowCount":5000000,
"includeFileManifest": {
"templatingStrategy":"PEBBLE_V1",
"value":"{{ customerData.includeFileManifest }}"
}
}
사용자가 구성 옵션을 선택할 수 있는 CSV 옵션 file-configuration-templating-pebble
아래 구성 예에서는 사전 정의된 CSV 옵션이 없습니다. 각 csvOptions
매개 변수의 value
은(는) /destinations
엔드포인트(예: quote
파일 형식 옵션의 경우 customerData.quote
)를 통해 해당 고객 데이터 필드에 구성되어 있으며 사용자는 Experience Platform UI를 사용하여 해당 고객 데이터 필드에서 사용자가 구성하는 다양한 옵션 중에서 선택할 수 있습니다. 파일 기반 대상에 대한 파일 서식 옵션 설명서에서 이러한 옵션이 어떻게 표시되는지 확인할 수 있습니다.
{
"fileConfigurations":{
"compression":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'compression' and customerData.compression is not empty %}{{customerData.compression}}{% else %}NONE{% endif %}"
},
"fileType":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.fileType}}"
},
"csvOptions":{
"sep":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'delimiter' %}{{customerData.csvOptions.delimiter}}{% else %},{% endif %}"
},
"quote":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'quote' %}{{customerData.csvOptions.quote}}{% else %}\"{% endif %}"
},
"escape":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'escape' %}{{customerData.csvOptions.escape}}{% else %}\\{% endif %}"
},
"nullValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'nullValue' %}{{customerData.csvOptions.nullValue}}{% else %}null{% endif %}"
},
"emptyValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{% if customerData contains 'csvOptions' and customerData.csvOptions contains 'emptyValue' %}{{customerData.csvOptions.emptyValue}}{% else %}{% endif %}"
}
},
"maxFileRowCount":5000000,
"includeFileManifest": {
"templatingStrategy":"PEBBLE_V1",
"value":"{{ customerData.includeFileManifest }}"
}
}
}
지원되는 파일 형식 옵션에 대한 전체 참조 및 예제 file-formatting-reference-and-example
다음은 각 옵션의 출력 예와 함께 Destination SDK에서 사용 가능한 모든 파일 형식 옵션에 대한 전체 참조입니다.
templatingStrategy
구성하는 각 파일 서식 옵션에 대해 templatingStrategy
매개 변수를 추가해야 합니다. 이 매개 변수에는
값이 있을 수 있습니다.
compression.value
none
, bzip2
, gzip
, lz4
및 snappy
.none
fileType.value
csv
, parquet
및 json
.csv
csvOptions.quote.value
"fileType.value": "csv"
에 대해서만 합니다. 구분 기호가 값의 일부일 수 있는 따옴표 붙은 값을 이스케이프 처리하는 데 사용되는 단일 문자를 설정합니다.null
quote.value: "u0000"
—> male,NULJohn,LastNameNUL
quote.value: "\""
—> male,"John,LastName"
csvOptions.quoteAll.value
"fileType.value": "csv"
에 대해서만 합니다. 모든 값을 항상 따옴표로 묶어야 하는지 여부를 나타냅니다. 기본적으로 따옴표 문자가 포함된 값만 이스케이프합니다.false
quoteAll
:false
—> male,John,"TestLastName"
quoteAll
:true
—>"male","John","TestLastName"
csvOptions.delimiter.value
"fileType.value": "csv"
에 대해서만 합니다. 각 필드 및 값에 대한 구분 기호를 설정합니다. 이 구분 기호는 하나 이상의 문자일 수 있습니다.,
delimiter
:,
—> comma-separated values"
delimiter
:\t
—> tab-separated values
csvOptions.escape.value
"fileType.value": "csv"
에 대해서만 합니다. 이미 인용한 값 내에서 따옴표를 이스케이프 처리하는 데 사용되는 단일 문자를 설정합니다.\
"escape"
:"\\"
—> male,John,"Test,\"LastName5"
"escape"
:"'"
—> male,John,"Test,'''"LastName5"
csvOptions.escapeQuotes.value
"fileType.value": "csv"
에 대해서만 합니다. 따옴표를 포함하는 값을 항상 따옴표로 묶어야 하는지 여부를 나타냅니다. 기본적으로 따옴표 문자가 포함된 모든 값은 이스케이프 처리됩니다.true
csvOptions.header.value
"fileType.value": "csv"
에 대해서만 합니다. 내보낸 파일의 첫 번째 행으로 열 이름을 작성할지 여부를 나타냅니다.true
csvOptions.ignoreLeadingWhiteSpace.value
"fileType.value": "csv"
에 대해서만 합니다. 값에서 선행 공백을 트리밍할지 여부를 나타냅니다.true
ignoreLeadingWhiteSpace
:true
—> "male","John","TestLastName"
ignoreLeadingWhiteSpace
:false
—> " male","John","TestLastName"
csvOptions.ignoreTrailingWhiteSpace.value
"fileType.value": "csv"
에 대해서만 합니다. 값에서 후행 공백을 트리밍할지 여부를 나타냅니다.true
ignoreTrailingWhiteSpace
:true
—> "male","John","TestLastName"
ignoreTrailingWhiteSpace
:false
—> "male ","John","TestLastName"
csvOptions.nullValue.value
"fileType.value": "csv"
에 대해서만 합니다. Null 값의 문자열 표현을 설정합니다.""
nullvalue
:""
—> male,"",TestLastName
nullvalue
:"NULL"
—> male,NULL,TestLastName
csvOptions.dateFormat.value
"fileType.value": "csv"
에 대해서만 합니다. 날짜 형식을 나타냅니다.yyyy-MM-dd
dateFormat
:yyyy-MM-dd
—> male,TestLastName,John,2022-02-24
dateFormat
:MM/dd/yyyy
—> male,TestLastName,John,02/24/2022
csvOptions.timestampFormat.value
"fileType.value": "csv"
에 대해서만 합니다. 타임스탬프 형식을 나타내는 문자열을 설정합니다.yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
csvOptions.charToEscapeQuoteEscaping.value
"fileType.value": "csv"
에 대해서만 합니다. 따옴표 문자의 이스케이프를 이스케이프 처리하는 데 사용되는 단일 문자를 설정합니다.\
. 이스케이프 문자와 따옴표가 같은 경우 \0
.csvOptions.emptyValue.value
"fileType.value": "csv"
에 대해서만 합니다. 빈 값의 문자열 표현을 설정합니다.""
"emptyValue":""
--> male,"",John
"emptyValue":"empty"
--> male,empty,John
maxFileRowCount
includeFileManifest
manifest-<<destinationId>>-<<dataflowRunId>>.json
형식을 사용하여 지정합니다.샘플 매니페스트 파일을(를) 봅니다. 매니페스트 파일에는 다음 필드가 포함되어 있습니다.
flowRunId
: 내보낸 파일을 생성한 데이터 흐름 실행.scheduledTime
: 파일을 내보낸 시간(UTC)입니다.exportResults.sinkPath
: 내보낸 파일이 저장된 저장소 위치의 경로입니다.exportResults.name
: 내보낸 파일의 이름입니다.size
: 내보낸 파일의 크기(바이트)입니다.
다음 단계 next-steps
이 문서를 읽은 후에는 대상 서버 구성에서 파일 형식이 작동하는 방식과 파일 형식을 구성하는 방법을 더 잘 이해할 수 있어야 합니다.
다른 대상 서버 구성 요소에 대한 자세한 내용은 다음 문서를 참조하십시오.