Configurer une destination basée sur des fichiers pour exporter des audiences de prospects vers un emplacement de stockage
Vue d’ensemble overview
Cette page décrit comment utiliser Destination SDK pour configurer une destination basée sur des fichiers avec des options de formatage de fichier et une configuration de nom de fichier personnalisées pour exporter des audiences de prospects. Les exemples de ce guide décrivent comment exporter des audiences de profils de prospects vers un emplacement Amazon S3.
Vous pouvez également configurer STFP ou d'autres emplacements de stockage pour exporter les audiences de prospects. N’oubliez pas d’ajouter le fragment de code ci-dessous à la configuration de destination à l’étape 2 étape 2 pour permettre au workflow d’exporter les audiences de prospects vers la destination.
"sources": [
"UNIFIED_PROFILE_PROSPECTS"
],
Pour une description détaillée des paramètres utilisés ci-dessous, voir options de configuration dans Destinations SDK.
Conditions préalables prerequisites
Avant de passer aux étapes décrites ci-dessous, lisez la page Prise en main de Destination SDK 🔗 pour plus d’informations sur l’obtention des informations d’authentification nécessaires et d’autres conditions préalables pour travailler avec les API Destination SDK.
Étape 1 : créer une configuration de serveur et de fichier create-server-file-configuration
Commencez par utiliser le point d’entrée /destination-server pour créer une configuration de serveur et de fichier.
Format d’API
POST platform.adobe.io/data/core/activation/authoring/destination-servers
Requête
La requête suivante crée une configuration de serveur de destination, configurée en fonction des paramètres fournis dans la payload.
La payload ci-dessous comprend une configuration Amazon S3 générique, avec des paramètres de configuration formatage de fichier CSV personnalisés que les utilisateurs peuvent définir dans l’interface utilisateur d’Experience Platform.
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":"Amazon S3 destination server with custom file formatting options",
"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":{
"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}}"
}
}
}
}'
Une réponse réussie renvoie la nouvelle configuration du serveur de destination, y compris l’identifiant unique (instanceId) de la configuration. Conservez cette valeur car elle sera nécessaire à l’étape suivante.
Étape 2 : créer une configuration de destination create-destination-configuration
Après avoir créé la configuration de formatage du serveur de destination et des fichiers à l’étape précédente, vous pouvez maintenant utiliser le point d’entrée de l’API /destinations pour créer une configuration de destination.
Pour connecter la configuration de serveur de l’étape 1 à cette configuration de destination, remplacez la valeur destinationServerId dans la requête API ci-dessous par la valeur obtenue lors de la création de votre serveur de destination à l’étape 1.
Format d’API
POST platform.adobe.io/data/core/activation/authoring/destinations
Requête
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 destination to export prospect audiences",
"description":"Amazon S3 destination to export prospect audiences",
"status":"TEST",
"sources": [
"UNIFIED_PROFILE_PROSPECTS"
],
"customerAuthenticationConfigurations":[
{
"authType":"S3"
}
],
"customerEncryptionConfigurations":[
],
"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":"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":"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":true,
"segmentRequired":true,
"identityRequired":true
},
"batchConfig":{
"allowMandatoryFieldSelection":true,
"allowDedupeKeyFieldSelection":true,
"defaultExportMode":"DAILY_FULL_EXPORT",
"allowedExportMode":[
"DAILY_FULL_EXPORT"
],
"allowedScheduleFrequency":[
"DAILY",
"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
}
}'
Une réponse réussie renvoie la nouvelle configuration de destination, y compris l’identifiant unique (instanceId) de la configuration. Conservez cette valeur, car elle est nécessaire si vous devez effectuer d’autres requêtes HTTP pour mettre à jour votre configuration de destination.
Étape 3 : vérification de l’interface utilisateur d’Experience Platform verify-ui
En fonction des configurations ci-dessus, le catalogue Experience Platform affichera désormais une nouvelle carte de destination privée que vous pourrez utiliser.
Dans les images et les enregistrements ci-dessous, remarquez comment les options du workflow d’activation pour les destinations basées sur des fichiers correspondent aux options que vous avez sélectionnées dans la configuration de destination.
Lorsque vous renseignez les détails sur la destination, remarquez comment les champs surfacés sont les champs de données personnalisés que vous configurez dans la configuration.
Lors de la planification des intervalles d’exportation, notez que les champs qui apparaissent sont ceux que vous avez configurés dans la configuration de batchConfig.
Lors de l’affichage des options de configuration de nom de fichier, remarquez comment les champs affichés représentent les options de filenameConfig que vous avez configurées dans la configuration.
Si vous souhaitez ajuster l’un des champs mentionnés ci-dessus, répétez les étapes 1 et 2 pour modifier les configurations en fonction de vos besoins.
Étape 4 : (Facultatif) Publier votre destination publish-destination
Une fois la destination configurée, utilisez l’API de publication de destination pour envoyer votre configuration à Adobe pour révision.
Étape 5 : documenter la destination (facultatif) document-destination
Si vous êtes un fournisseur de logiciels indépendant (ISV) ou un intégrateur de système (SI) créant une intégration personnalisée, utilisez le processus de documentation en libre-service pour créer une page de documentation du produit pour votre destination dans le Catalogue des destinations Experience Platform.
Étapes suivantes next-steps
Vous savez désormais comment utiliser Destination SDK pour créer une destination de Amazon S3 personnalisée afin d’exporter des audiences de prospects.