Configurar un destino Amazon S3 con opciones de formato de archivo predefinidas y configuración de nombre de archivo personalizado
Información general overview
En esta página se describe cómo usar Destination SDK para configurar un destino de Amazon S3 con opciones de formato de archivo predefinidas y predeterminadas y una configuración de nombre de archivo personalizada.
Esta página muestra todas las opciones de configuración disponibles para Amazon S3 destinos. Puede editar las configuraciones que se muestran en los pasos siguientes o eliminar ciertas partes de las configuraciones, según sea necesario.
Para obtener descripciones detalladas de los parámetros utilizados a continuación, consulte opciones de configuración en Destinations SDK.
Requisitos previos prerequisites
Antes de avanzar a los pasos descritos a continuación, lea la página de introducción al Destination SDK para obtener información sobre cómo obtener las credenciales de autenticación de Adobe I/O necesarias y otros requisitos previos para trabajar con las API de Destination SDK.
Paso 1: Crear un servidor y una configuración de archivo create-server-file-configuration
Comience por usar el extremo /destination-server
para crear un servidor y una configuración de archivo.
Formato de API
POST platform.adobe.io/data/core/activation/authoring/destination-servers
Solicitud
La siguiente solicitud crea una nueva configuración del servidor de destino, configurada por los parámetros proporcionados en la carga útil.
La carga útil siguiente incluye una configuración Amazon S3 genérica, con parámetros de configuración predefinidos y predeterminados de formato de archivo CSV que los usuarios pueden definir en la interfaz de usuario del 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 respuesta correcta devuelve la nueva configuración del servidor de destino, incluido el identificador único (instanceId
) de la configuración. Almacene este valor tal como se requiere en el siguiente paso.
Paso 2: Crear la configuración de destino create-destination-configuration
Después de crear el servidor de destino y la configuración de formato de archivo en el paso anterior, puede usar el extremo de la API /destinations
para crear una configuración de destino.
Para conectar la configuración del servidor en paso 1 a esta configuración de destino, reemplace el valor destinationServerId
de la solicitud de API siguiente por el valor instanceId
obtenido al crear el servidor de destino en paso 1.
Formato de API
POST platform.adobe.io/data/core/activation/authoring/destinations
Solicitud
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 respuesta correcta devuelve la nueva configuración de destino, incluido el identificador único (instanceId
) de la configuración. Almacene este valor como es necesario si necesita realizar más solicitudes HTTP para actualizar la configuración de destino.
Paso 3: Verificar la interfaz de usuario de Experience Platform verify-ui
En función de las configuraciones anteriores, el catálogo de Experience Platform ahora mostrará una nueva tarjeta de destino privada para que la utilice.
En las imágenes y grabaciones siguientes, observe cómo las opciones del flujo de trabajo de activación para destinos basados en archivos coinciden con las opciones que seleccionó en la configuración de destino.
Al rellenar detalles sobre el destino, observe cómo aparecen los campos como campos de datos personalizados que se configuran en la configuración.
Al programar intervalos de exportación, observe cómo aparecen los campos configurados en la configuración batchConfig
.
Al ver las opciones de configuración del nombre de archivo, observe cómo los campos que aparecen representan las opciones de filenameConfig
que configuró en la configuración.
Si desea ajustar cualquiera de los campos mencionados anteriormente, repita los pasos uno y dos para modificar las configuraciones según sus necesidades.
Paso 4: (Opcional) Publish su destino publish-destination
Después de configurar el destino, usa la API de publicación de destino para enviar la configuración al Adobe y revisarla.
Paso 5: (Opcional) Documente su destino document-destination
Si es un proveedor de software independiente (ISV) o integrador de sistemas (SI) que crea una integración de productos, use el proceso de documentación de autoservicio para crear una página de documentación de productos para su destino en el catálogo de destinos de Experience Platform.
Pasos siguientes next-steps
Al leer este artículo, ahora sabe cómo crear un destino Amazon S3 personalizado con Destination SDK. A continuación, su equipo puede usar el flujo de trabajo de activación para destinos basados en archivos para exportar datos al destino.