配置数据集导出目标

概述 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
数据集不需要标识映射。
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