데이터 세트 내보내기 대상 구성

개요 overview

이 페이지에서는 Destination SDK을 사용하여 데이터 세트 내보내기를 지원하는 대상을 구성하는 방법에 대해 설명합니다. 데이터 세트 내보내기 대상을 사용하여 보고, 데이터 과학 워크플로 및 기타 다양한 사용 사례를 위해 Experience Platform에서 외부 저장소 위치로 원시 데이터 세트를 내보냅니다.

이 안내서에서는 전체에서 Amazon S3을(를) 예로 사용하지만 Destination SDK에서 지원하는 파일 기반 대상 형식(Azure Blob Storage, SFTP, Azure Data Lake Storage Gen2, Google Cloud Storage 및 Data Landing Zone)에는 동일한 구성 원칙이 적용됩니다.

이 안내서에 사용된 모든 매개 변수에 대한 자세한 설명은 Destination SDK의 구성 옵션을 참조하세요.

사전 요구 사항 prerequisites

아래 설명된 단계로 진행하기 전에 Destination SDK 시작하기 페이지에서 Destination SDK API를 사용하는 데 필요한 Adobe I/O 인증 자격 증명 및 기타 필수 구성 요소를 얻는 방법에 대한 정보를 읽어 보십시오.

1단계: 서버 및 파일 구성 만들기 create-server-file-configuration

/destination-servers 끝점을 사용하여 서버 및 파일 구성을 만듭니다.

API 형식

POST platform.adobe.io/data/core/activation/authoring/destination-servers

요청

다음 요청은 Amazon S3 대상에 대한 새 대상 서버 구성을 만듭니다. fileTypecompression 값은 템플릿으로 지정됩니다. 즉, 다음 단계에서 정의한 customerDataFields을(를) 통해 대상 연결 시간에 고객이 제공합니다.

curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -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":"Amazon S3 dataset export destination server",
   "destinationServerType":"FILE_BASED_S3",
   "fileBasedS3Destination":{
      "bucket":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.bucketName}}"
      },
      "path":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.path}}"
      }
   },
   "fileConfigurations":{
      "compression":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.compression}}"
      },
      "fileType":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.fileType}}"
      },
      "csvOptions":{
         "quoteAll":{
            "templatingStrategy":"NONE",
            "value":"false"
         },
         "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]"
         }
      }
   }
}'

성공한 응답은 구성의 고유 식별자(instanceId)를 포함하여 새 대상 서버 구성을 반환합니다. 다음 단계에서 필요한 대로 이 값을 저장합니다.

2단계: 대상 구성 만들기 create-destination-configuration

이전 단계에서 대상 서버 구성을 만든 후 /destinations API 끝점을 사용하여 대상 구성을 만드십시오.

단계 1에서 이 대상 구성에 서버 구성을 연결하려면 아래 API 요청의 destinationServerId 값을 단계 1에서 대상 서버를 만들 때 얻은 instanceId 값으로 바꾸십시오.

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":"Amazon S3 dataset export destination",
   "description":"Amazon S3 destination for exporting Experience Platform datasets.",
   "status":"TEST",
   "sources":[
      "DATASETS"
   ],
   "customerAuthenticationConfigurations":[
      {
         "authType":"S3"
      }
   ],
   "customerDataFields":[
      {
         "name":"bucketName",
         "title":"Enter the name of your Amazon S3 bucket",
         "description":"Amazon S3 bucket name",
         "type":"string",
         "isRequired":true,
         "pattern":"(?=^.{3,63}$)(?!^(\\d+\\.)+\\d+$)(^(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$)",
         "readOnly":false,
         "hidden":false
      },
      {
         "name":"path",
         "title":"Enter the path to your S3 bucket folder",
         "description":"Enter the path to your S3 bucket folder",
         "type":"string",
         "isRequired":true,
         "pattern":"^[0-9a-zA-Z\\/\\!\\-_\\.\\*\\''\\(\\)]*((\\%SEGMENT_(NAME|ID)\\%)?\\/?)+$",
         "readOnly":false,
         "hidden":false
      },
      {
         "name":"compression",
         "title":"Compression format",
         "description":"Select the desired file compression format.",
         "type":"string",
         "isRequired":true,
         "readOnly":false,
         "enum":[
            "GZIP",
            "NONE"
         ]
      },
      {
         "name":"fileType",
         "title":"File type",
         "description":"Select the exported file type.",
         "type":"string",
         "isRequired":true,
         "readOnly":false,
         "hidden":false,
         "enum":[
            "json",
            "parquet"
         ],
         "default":"parquet"
      }
   ],
   "uiAttributes":{
      "documentationLink":"https://www.adobe.com/go/destinations-amazon-s3-en",
      "category":"cloudStorage",
      "connectionType":"S3",
      "flowRunsSupported":true,
      "monitoringSupported":true,
      "frequency":"Batch"
   },
   "destinationDelivery":[
      {
         "deliveryMatchers":[
            {
               "type":"SOURCE",
               "value":[
                  "batch"
               ]
            }
         ],
         "authenticationRule":"CUSTOMER_AUTHENTICATION",
         "destinationServerId":"{{destinationServerId}}"
      }
   ],
   "schemaConfig":{
      "profileRequired":false,
      "segmentRequired":false,
      "identityRequired":false
   },
   "aggregation":{
      "aggregationType":"BEST_EFFORT"
   },
   "batchConfig":{
      "allowMandatoryFieldSelection":false,
      "allowDedupKeyFieldSelection":false,
      "defaultExportMode":"FIRST_FULL_THEN_INCREMENTAL",
      "allowedExportModes":[
         "DAILY_FULL_EXPORT",
         "FIRST_FULL_THEN_INCREMENTAL"
      ],
      "allowedScheduleFrequency":[],
      "defaultFrequency":"EVERY_6_HOURS",
      "defaultStartTime":"00:00",
      "filenameConfig":{
         "allowedFilenameAppendOptions":[],
         "defaultFilenameAppendOptions":[],
         "defaultFilename":""
      },
      "datasetBatchConfig":{
         "allowedFoldernameAppendOptions":[
            "DESTINATION",
            "DATASET_ID",
            "DATASET_NAME",
            "DESTINATION_INSTANCE_ID",
            "DESTINATION_INSTANCE_NAME",
            "ORGANIZATION_NAME",
            "SANDBOX_NAME",
            "DATETIME",
            "EXPORT_TIME",
            "CUSTOM_TEXT"
         ],
         "defaultFoldernameAppendOptions":[
            "DATASET_ID",
            "EXPORT_TIME"
         ],
         "allowedExportModes":[
            "DAILY_FULL_EXPORT",
            "FIRST_FULL_THEN_INCREMENTAL"
         ],
         "allowedScheduleFrequency":[
            "DAILY",
            "EVERY_3_HOURS",
            "EVERY_6_HOURS",
            "EVERY_8_HOURS",
            "EVERY_12_HOURS",
            "ONCE"
         ]
      }
   },
   "maxProfileAttributes":9000,
   "maxIdentityAttributes":1000,
   "backfillHistoricalProfileData":true
}'

대상 내보내기 대상 구성의 주요 차이점은 위에 강조 표시되어 있습니다.

매개 변수
데이터 세트 내보내기 값
설명
sources
["DATASETS"]
이 대상을 데이터 세트 내보내기 대상으로 표시합니다. 자세한 내용은 대상 데이터 형식 구성을 참조하십시오.
schemaConfig.profileRequired
false
데이터 세트에는 프로필 매핑이 필요하지 않습니다.
schemaConfig.segmentRequired
false
데이터 세트에는 대상 선택이 필요하지 않습니다.
schemaConfig.identityRequired
false
데이터 세트에는 ID 매핑이 필요하지 않습니다.
aggregation.aggregationType
BEST_EFFORT
데이터 세트 내보내기는 최적의 집계를 사용합니다.
batchConfig.datasetBatchConfig
위 참조
데이터 세트 내보내기와 관련된 폴더 이름 지정 및 예약 옵션을 제어합니다. 전체 매개 변수 세부 정보는 데이터 집합 내보내기 구성을 참조하세요.

성공한 응답은 구성의 고유 식별자(instanceId)를 포함하여 새 대상 구성을 반환합니다.

3단계: 인증 설정 set-up-authentication

위의 대상 구성에서 "authenticationRule": "CUSTOMER_AUTHENTICATION" 또는 "authenticationRule": "PLATFORM_AUTHENTICATION"을(를) 지정했는지 여부에 따라 /destination 또는 /credentials 끝점을 사용하여 인증을 설정할 수 있습니다.

NOTE
CUSTOMER_AUTHENTICATION은(는) 두 인증 규칙 중 더 일반적이며 사용자가 대상에 연결할 때 자신의 저장소 자격 증명을 제공하기를 원하는 경우 사용할 규칙입니다.

4단계: Experience Platform UI 확인 verify-ui

위의 구성에 따라 Experience Platform 카탈로그에 사용할 새 개인 대상 카드가 표시됩니다.

사용자가 대상에 연결하고 내보낼 데이터 세트를 선택하면 datasetBatchConfig에서 정의한 예약 및 폴더 이름 지정 옵션이 표시됩니다.

5단계: (선택 사항) 대상 게시 publish-destination

NOTE
이 단계는 직접 사용할 개인 대상을 만들고 다른 고객이 사용할 대상 카탈로그에 게시하려고 하지 않는 경우에는 필요하지 않습니다.

대상을 구성한 후 대상 게시 API를 사용하여 검토를 위해 Adobe에 구성을 제출합니다.

6단계: (선택 사항) 대상 문서화 document-destination

NOTE
이 단계는 직접 사용할 개인 대상을 만들고 다른 고객이 사용할 대상 카탈로그에 게시하려고 하지 않는 경우에는 필요하지 않습니다.

제품화된 통합을 만드는 ISV(독립 소프트웨어 공급업체) 또는 SI(시스템 통합자)인 경우 셀프 서비스 설명서 프로세스를 사용하여 Experience Platform 대상 카탈로그에서 대상에 대한 제품 설명서 페이지를 만드십시오.

다음 단계 next-steps

이 문서를 읽으면 이제 Destination SDK을 사용하여 데이터 세트 내보내기 대상을 작성하는 방법을 알 수 있습니다. 그런 다음 팀은 데이터 세트 내보내기 워크플로우를 사용하여 데이터 세트를 대상으로 내보낼 수 있습니다.

Destination SDK으로 수행할 수 있는 작업에 대해 자세히 알아보려면 다음 문서를 참조하십시오.

recommendation-more-help
experience-platform-help-destinations