구성 Azure Data Lake Storage 사용자 지정 파일 형식 옵션 및 사용자 지정 파일 이름 구성을 사용하는 대상
개요 overview
이 페이지에서는 Destination SDK을 사용하여 다음을 구성하는 방법을 설명합니다. Azure Data Lake Storage 사용자 지정 대상 파일 서식 옵션 및 사용자 지정 파일 이름 구성.
이 페이지에는 Azure 데이터 레이크 저장소 대상에 사용할 수 있는 모든 구성 옵션이 표시됩니다. 아래 단계에 표시된 구성을 편집하거나 필요에 따라 구성의 특정 부분을 삭제할 수 있습니다.
아래에 사용된 매개 변수에 대한 자세한 설명은 을 참조하십시오. 대상 SDK의 구성 옵션.
전제 조건 prerequisites
아래 설명된 단계로 진행하기 전에 다음을 읽어 보십시오. Destination SDK 시작 Destination SDK API를 사용하여 작업하는 데 필요한 Adobe I/O 인증 자격 증명 및 기타 전제 조건을 얻는 방법에 대한 자세한 내용을 보려면 페이지 를 참조하십시오.
1단계: 서버 및 파일 구성 만들기 create-server-file-configuration
를 사용하여 시작 /destination-server
엔드포인트 대상 서버 및 파일 구성 만들기.
API 형식
POST platform.adobe.io/data/core/activation/authoring/destination-servers
요청
다음 요청은 페이로드에 제공된 매개 변수로 구성된 새 대상 서버 구성을 만듭니다.
아래 페이로드에는 제네릭이 포함됩니다. Azure Data Lake Storage 구성, 사용자 정의 CSV 파일 형식 지정 사용자가 Experience Platform UI에서 정의할 수 있는 구성 매개 변수입니다.
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-server \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Azure Data Lake Storage server with custom file formatting options",
"description":"Azure Data Lake Storage server with custom file formatting options",
"destinationServerType":"FILE_BASED_ADLS_GEN2",
"fileBasedAdlsGen2Destination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
}
},
"fileConfigurations":{
"compression":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.compression}}"
},
"fileType":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.fileType}}"
},
"csvOptions":{
"sep":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.sep}}"
},
"encoding":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.encoding}}"
},
"quote":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.quote}}"
},
"quoteAll":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.quoteAll}}"
},
"escape":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.escape}}"
},
"escapeQuotes":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.escapeQuotes}}"
},
"header":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.header}}"
},
"ignoreLeadingWhiteSpace":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.ignoreLeadingWhiteSpace}}"
},
"nullValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.nullValue}}"
},
"dateFormat":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.dateFormat}}"
},
"charToEscapeQuoteEscaping":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.charToEscapeQuoteEscaping}}"
},
"emptyValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.dateFormat}}"
}
}
}
}'
성공적인 응답은 고유 식별자( )를 포함하여 새 대상 서버 구성을 반환합니다.instanceId
)을 참조하십시오. 다음 단계에서 필요한 대로 이 값을 저장합니다.
2단계: 대상 구성 만들기 create-destination-configuration
이전 단계에서 대상 서버 및 파일 형식 지정 구성을 만든 후 /destinations
대상 구성을 만들기 위한 API 엔드포인트.
에서 서버 구성을 연결하려면 1단계 이 대상 구성을 사용하려면 destinationServerId
에서 대상 서버를 만들 때 얻은 값과 함께 아래 API 요청의 값 1단계.
API 형식
POST platform.adobe.io/data/core/activation/authoring/destinations
요청
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destinations \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '
{
"name":"Azure Data Lake Storage destination with custom file formatting options and custom file name configuration",
"description":"Azure Data Lake Storage destination with custom file formatting options and custom file name configuration",
"status":"TEST",
"customerAuthenticationConfigurations":[
{
"authType":"AZURE_SERVICE_PRINCIPAL"
}
],
"customerEncryptionConfigurations":[
],
"customerDataFields":[
{
"name":"path",
"title":"Folder path",
"description":"Enter the path to your Azure Data Lake Storage folder",
"type":"string",
"isRequired":true,
"readOnly":false,
"hidden":false
},
{
"name":"sep",
"title":"Enter your desired separator for each field and value",
"description":"Enter your desired separator for each field and value",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"encoding",
"title":"Select the desired CSV file encoding",
"description":"Select the desired CSV file encoding",
"type":"string",
"enum":[
"UTF-8",
"UTF-16"
],
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"quote",
"title":"Quoted values escape character",
"description":"Enter the desired character to be used for escaping quoted values.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"quoteAll",
"title":"Escape all quoted values",
"description":"Select whether to escape all quoted values.",
"type":"string",
"enum":[
"true",
"false"
],
"default":"true",
"isRequired":true,
"readOnly":false,
"hidden":false
},
{
"name":"escape",
"title":"Quote escaping character",
"description":"Enter the desired character to be used for escaping quotes inside an already quoted value.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"escapeQuotes",
"title":"Enclose quoted values within quotes",
"description":"Select whether values containing quotes should always be enclosed in quotes.",
"type":"string",
"enum":[
"true",
"false"
],
"isRequired":false,
"default":"true",
"readOnly":false,
"hidden":false
},
{
"name":"header",
"title":"Generate file header.",
"description":"Select whether to write the names of columns as the first line of the exported files.",
"type":"string",
"isRequired":false,
"enum":[
"true",
"false"
],
"readOnly":false,
"default":"true",
"hidden":false
},
{
"name":"ignoreLeadingWhiteSpace",
"title":"Ignore leading white space",
"description":"Select whether leading whitespaces should be trimmed from exported values.",
"type":"string",
"isRequired":false,
"enum":[
"true",
"false"
],
"readOnly":false,
"default":"true",
"hidden":false
},
{
"name":"nullValue",
"title":"NULL value string format",
"description":"Enter the string representation of a NULL value. ",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"dateFormat",
"title":"Date format",
"description":"Enter the desired date format. ",
"type":"string",
"default":"yyyy-MM-dd",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"charToEscapeQuoteEscaping",
"title":"Quote escaping escape character",
"description":"Enter the desired character to be used for escaping the escaping of a quote character.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"emptyValue",
"title":"Empty value string format",
"description":"Enter the string representation of an empty value.",
"type":"string",
"isRequired":false,
"readOnly":false,
"default":"",
"hidden":false
},
{
"name":"compression",
"title":"Compression format",
"description":"Select the desired file compression format.",
"type":"string",
"isRequired":true,
"readOnly":false,
"enum":[
"SNAPPY",
"GZIP",
"DEFLATE",
"NONE"
]
},
{
"name":"fileType",
"title":"File type",
"description":"Select the exported file type.",
"type":"string",
"isRequired":true,
"readOnly":false,
"hidden":false,
"enum":[
"csv",
"json",
"parquet"
],
"default":"csv"
}
],
"uiAttributes":{
"documentationLink":"",
"category":"cloudStorage",
"connectionType":"ADLS",
"flowRunsSupported":true,
"monitoringSupported":true,
"frequency":"Batch"
},
"destinationDelivery":[
{
"deliveryMatchers":[
{
"type":"SOURCE",
"value":[
"batch"
]
}
],
"authenticationRule":"CUSTOMER_AUTHENTICATION",
"destinationServerId":"{{instanceID of your destination server}}"
}
],
"schemaConfig":{
"profileRequired":true,
"segmentRequired":true,
"identityRequired":true
},
"batchConfig":{
"allowMandatoryFieldSelection":true,
"allowDedupeKeyFieldSelection":true,
"defaultExportMode":"DAILY_FULL_EXPORT",
"allowedExportMode":[
"DAILY_FULL_EXPORT",
"FIRST_FULL_THEN_INCREMENTAL"
],
"allowedScheduleFrequency":[
"DAILY",
"EVERY_3_HOURS",
"EVERY_6_HOURS",
"EVERY_8_HOURS",
"EVERY_12_HOURS",
"ONCE"
],
"defaultFrequency":"DAILY",
"defaultStartTime":"00:00",
"filenameConfig":{
"allowedFilenameAppendOptions":[
"SEGMENT_NAME",
"DESTINATION_INSTANCE_ID",
"DESTINATION_INSTANCE_NAME",
"ORGANIZATION_NAME",
"SANDBOX_NAME",
"DATETIME",
"CUSTOM_TEXT"
],
"defaultFilenameAppendOptions":[
"DATETIME"
],
"defaultFilename":"%DESTINATION%_%SEGMENT_ID%"
},
"backfillHistoricalProfileData":true
}
}'
성공적인 응답은 고유 식별자( )를 포함하여 새 대상 구성을 반환합니다.instanceId
)을 참조하십시오. 대상 구성을 업데이트하기 위해 추가 HTTP 요청을 수행해야 하는 경우 이 값을 필요에 따라 저장합니다.
3단계: Experience Platform UI 확인 verify-ui
위의 구성에 따라 이제 Experience Platform 카탈로그에 사용할 새 개인 대상 카드가 표시됩니다.
아래 이미지 및 녹화에서 파일 기반 대상에 대한 활성화 워크플로 대상 구성에서 선택한 옵션과 일치합니다.
대상에 대한 세부 정보를 입력할 때 필드가 구성에서 설정한 사용자 정의 데이터 필드인지 확인합니다.
내보내기 간격을 예약할 때 에서 설정한 필드가 어떻게 표시되는지 확인합니다. batchConfig
구성.
파일 이름 구성 옵션을 볼 때 필드가 어떻게 표시되는지 확인합니다 filenameConfig
구성에서 설정한 옵션입니다.
위에서 언급한 필드를 조정하려면 다음을 반복합니다 1단계 및 2 필요에 따라 구성을 수정합니다.
4단계: (선택 사항) 대상 게시 publish-destination
대상을 구성한 후 대상 게시 API Adobe에 구성을 제출하여 검토합니다.
5단계: (선택 사항) 대상 문서화 document-destination
ISV(Independent Software Vendor) 또는 SI(System Integrator)가 제품화 통합, 사용 셀프서비스 설명서 프로세스 에서 대상에 대한 제품 설명서 페이지를 만들려면 Experience Platform 대상 카탈로그.
다음 단계 next-steps
이제 이 문서를 읽고 사용자 지정을 작성하는 방법을 알 수 있습니다 Azure Data Lake Storage 대상(Destination SDK 사용) 다음으로, 팀은 파일 기반 대상에 대한 활성화 워크플로 데이터를 대상으로 내보냅니다.