Configura una destinazione Amazon S3 con opzioni di formattazione del file predefinite e configurazione del nome file personalizzato
Panoramica overview
In questa pagina viene descritto come utilizzare Destination SDK per configurare una destinazione Amazon S3 con opzioni predefinite di formattazione del file e una configurazione del nome file personalizzata.
In questa pagina sono visualizzate tutte le opzioni di configurazione disponibili per Amazon S3 destinazioni. Puoi modificare le configurazioni mostrate nei passaggi seguenti o eliminare alcune parti delle configurazioni, in base alle esigenze.
Per le descrizioni dettagliate dei parametri utilizzati di seguito, vedi opzioni di configurazione nell'SDK delle destinazioni.
Prerequisiti prerequisites
Prima di procedere con i passaggi descritti di seguito, leggere la pagina della guida introduttiva di Destination SDK per informazioni su come ottenere le credenziali di autenticazione Adobe I/O necessarie e altri prerequisiti per l'utilizzo delle API Destination SDK.
Passaggio 1: creare una configurazione di server e file create-server-file-configuration
Iniziare utilizzando l'endpoint /destination-server
per creare una configurazione del server e del file.
Formato API
POST platform.adobe.io/data/core/activation/authoring/destination-servers
Richiesta
La richiesta seguente crea una nuova configurazione del server di destinazione, configurata dai parametri forniti nel payload.
Il payload seguente include una configurazione Amazon S3 generica, con parametri di configurazione predefiniti di formattazione file CSV che gli utenti possono definire nell'interfaccia utente di 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": ""
}
}
}
}'
Una risposta corretta restituisce la nuova configurazione del server di destinazione, incluso l'identificatore univoco (instanceId
) della configurazione. Memorizza questo valore come richiesto nel passaggio successivo.
Passaggio 2: creare la configurazione di destinazione create-destination-configuration
Dopo aver creato la configurazione del server di destinazione e della formattazione del file nel passaggio precedente, è ora possibile utilizzare l'endpoint API /destinations
per creare una configurazione di destinazione.
Per connettere la configurazione del server in passaggio 1 a questa configurazione di destinazione, sostituire il valore destinationServerId
nella richiesta API seguente con il valore instanceId
ottenuto durante la creazione del server di destinazione in passaggio 1.
Formato API
POST platform.adobe.io/data/core/activation/authoring/destinations
Richiesta
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
}
}'
Una risposta corretta restituisce la nuova configurazione di destinazione, incluso l'identificatore univoco (instanceId
) della configurazione. Memorizza questo valore in quanto è necessario se devi effettuare ulteriori richieste HTTP per aggiornare la configurazione di destinazione.
Passaggio 3: verificare l’interfaccia utente di Experience Platform verify-ui
In base alle configurazioni di cui sopra, nel catalogo di Experience Platform verrà ora visualizzata una nuova scheda di destinazione privata da utilizzare.
Nelle immagini e nelle registrazioni seguenti, tieni presente che le opzioni nel flusso di lavoro di attivazione per le destinazioni basate su file corrispondono a quelle selezionate nella configurazione di destinazione.
Durante la compilazione dei dettagli sulla destinazione, noterai come i campi visualizzati sono campi dati personalizzati impostati nella configurazione.
Durante la pianificazione degli intervalli di esportazione, notare come i campi visualizzati sono quelli impostati nella configurazione batchConfig
.
Quando si visualizzano le opzioni di configurazione del nome file, si noti come i campi visualizzati rappresentano le opzioni filenameConfig
impostate nella configurazione.
Se desideri modificare uno dei campi sopra menzionati, ripeti i passaggi uno e due per modificare le configurazioni in base alle tue esigenze.
Passaggio 4: (facoltativo) Publish della tua destinazione publish-destination
Dopo aver configurato la destinazione, utilizza l'API di pubblicazione della destinazione per inviare la configurazione ad Adobe per la revisione.
Passaggio 5: (facoltativo) documenta la destinazione document-destination
Se sei un fornitore di software indipendente (ISV) o un integratore di sistemi (SI) che sta creando una integrazione prodotta, utilizza la procedura di documentazione self-service per creare una pagina di documentazione del prodotto per la tua destinazione nel catalogo delle destinazioni di Experience Platform.
Passaggi successivi next-steps
Dopo aver letto questo articolo, saprai come creare una destinazione Amazon S3 personalizzata utilizzando Destination SDK. Successivamente, il tuo team può utilizzare il flusso di lavoro di attivazione per le destinazioni basate su file per esportare i dati nella destinazione.