配置数据集导出目标
概述 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目标创建新的目标服务器配置。 fileType和compression值是模板化的,这意味着它们将由客户通过您在下一步中定义的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
}'
与受众导出目标配置的主要区别如上所示:
schemaConfig.profileRequiredfalseschemaConfig.segmentRequiredfalseschemaConfig.identityRequiredfalseaggregation.aggregationTypeBEST_EFFORT成功的响应返回新的目标配置,包括配置的唯一标识符(instanceId)。
步骤3:设置身份验证 set-up-authentication
根据您在上面的目标配置中指定了"authenticationRule": "CUSTOMER_AUTHENTICATION"还是"authenticationRule": "PLATFORM_AUTHENTICATION",可以使用/destination或/credentials端点设置身份验证。
CUSTOMER_AUTHENTICATION是两个身份验证规则中比较常见的一个,如果您希望用户在连接到您的目标时提供自己的存储凭据,则应该使用。步骤4:验证Experience Platform UI verify-ui
根据以上配置,Experience Platform目录现在将显示新的专用目标卡供您使用。
当用户连接到目标并选择要导出的数据集时,他们将看到您在datasetBatchConfig中定义的计划和文件夹命名选项。
步骤5:(可选)发布目标 publish-destination
配置目标后,使用目标发布API将配置提交到Adobe以供审查。
步骤6:(可选)记录您的目标 document-destination
如果您是创建产品化集成的独立软件供应商(ISV)或系统集成商(SI),请使用自助文档流程在Experience Platform目标目录中为您的目标创建产品文档页面。
后续步骤 next-steps
通过阅读本文,您现在知道如何使用Destination SDK创作数据集导出目标。 接下来,您的团队可以使用数据集导出工作流将数据集导出到您的目标。
要详细了解您可以使用Destination SDK做什么,请阅读以下文章: