Configurer une destination Amazon S3 avec des options de formatage de fichier prédéfinies et une configuration de nom de fichier personnalisée

Vue d’ensemble overview

Cette page décrit comment utiliser Destination SDK pour configurer une destination Amazon S3 avec des options de formatage de fichier par défaut prédéfinies et une configuration de nom de fichier personnalisée.

Cette page présente toutes les options de configuration disponibles pour les destinations Amazon S3. Vous pouvez modifier les configurations présentées dans les étapes ci-dessous ou supprimer certaines parties des configurations, si nécessaire.

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 de prise en main de Destination SDK 🔗 pour plus d’informations sur l’obtention des informations d’authentification Adobe I/O 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 de Amazon S3 générique, avec des paramètres de configuration prédéfinis par défaut formatage de fichier CSV 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 predefined default CSV 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": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "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]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}'

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 étape 1 à cette configuration de destination, remplacez la valeur destinationServerId dans la requête API ci-dessous par la valeur instanceId obtenue lors de la création de votre serveur de destination à é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 with predefined CSV formatting options",
   "description":"Amazon S3 destination with predefined CSV formatting options",
   "status":"TEST",
   "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":"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",
      "icon":{
         "key":"amazonS3"
      },
      "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",
         "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
   }
}'

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.

Enregistrement de l’écran affichant la page de catalogue des destinations avec une carte de destination sélectionnée.

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.

TIP
L’ordre dans lequel vous ajoutez les champs de données personnalisés à la configuration de destination n’est pas reflété dans l’interface utilisateur. Les champs de données client sont toujours affichés dans l’ordre affiché dans l’enregistrement d’écran ci-dessous.

Enregistrement d’écran affichant les champs de données client définis dans votre 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.
options de planification de l’exportation

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.
options de configuration de nom de fichier

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

NOTE
Cette étape n’est pas obligatoire si vous créez une destination privée pour votre propre usage et que vous ne souhaitez pas la publier dans le catalogue des destinations pour que d’autres clients puissent l’utiliser.

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

NOTE
Cette étape n’est pas obligatoire si vous créez une destination privée pour votre propre usage et que vous ne souhaitez pas la publier dans le catalogue des destinations pour que d’autres clients puissent l’utiliser.

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 créer une destination Amazon S3 personnalisée à l’aide de Destination SDK. Ensuite, votre équipe peut utiliser le workflow d’activation pour les destinations basées sur des fichiers pour exporter des données vers la destination.

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6