Configurar um destino Amazon S3 com opções predefinidas de formatação de arquivo e configuração personalizada de nome de arquivo
Visão geral overview
Esta página descreve como usar o Destination SDK para configurar um destino do Amazon S3 com opções de formatação de arquivo predefinidas e uma configuração de nome de arquivo personalizada.
Esta página mostra todas as opções de configuração disponíveis para Amazon S3 destinos. Você pode editar as configurações mostradas nas etapas abaixo ou excluir determinadas partes das configurações, conforme necessário.
Para obter descrições detalhadas dos parâmetros usados abaixo, consulte opções de configuração no SDK de Destinos.
Pré-requisitos prerequisites
Antes de seguir para as etapas descritas abaixo, leia a página introdução do Destination SDK para obter informações sobre como obter as credenciais de autenticação de Adobe I/O e outros pré-requisitos necessários para trabalhar com APIs de Destination SDK.
Etapa 1: criar uma configuração de servidor e arquivo create-server-file-configuration
Comece usando o ponto de extremidade /destination-server
para criar uma configuração de servidor e arquivo.
Formato da API
POST platform.adobe.io/data/core/activation/authoring/destination-servers
Solicitação
A solicitação a seguir cria uma nova configuração do servidor de destino, configurada pelos parâmetros fornecidos na carga.
A carga abaixo inclui uma configuração Amazon S3 genérica, com os parâmetros de configuração predefinidos do formato de arquivo CSV padrão, que os usuários podem definir na interface do usuário do 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": ""
}
}
}
}'
Uma resposta bem-sucedida retorna a nova configuração do servidor de destino, incluindo o identificador exclusivo (instanceId
) da configuração. Armazene esse valor conforme necessário na próxima etapa.
Etapa 2: Criar configuração de destino create-destination-configuration
Depois de criar o servidor de destino e a configuração de formatação de arquivo na etapa anterior, você pode usar o ponto de extremidade da API /destinations
para criar uma configuração de destino.
Para conectar a configuração do servidor em etapa 1 a esta configuração de destino, substitua o valor destinationServerId
na solicitação de API abaixo pelo valor instanceId
obtido ao criar o servidor de destino na etapa 1.
Formato da API
POST platform.adobe.io/data/core/activation/authoring/destinations
Solicitação
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
}
}'
Uma resposta bem-sucedida retorna a nova configuração de destino, incluindo o identificador exclusivo (instanceId
) da configuração. Armazene esse valor como ele é necessário se você precisar fazer mais solicitações HTTP para atualizar sua configuração de destino.
Etapa 3: verificar a interface do usuário do Experience Platform verify-ui
Com base nas configurações acima, o catálogo de Experience Platform agora exibirá um novo cartão de destino privado para você usar.
Nas imagens e gravações abaixo, observe como as opções no fluxo de trabalho de ativação para destinos baseados em arquivo correspondem às opções selecionadas na configuração de destino.
Ao preencher detalhes sobre o destino, observe como os campos exibidos são os campos de dados personalizados configurados na configuração do.
Ao agendar intervalos de exportação, observe como os campos exibidos são os campos configurados na configuração batchConfig
.
Ao exibir as opções de configuração de nome de arquivo, observe como os campos exibidos representam as filenameConfig
opções que você configurou na configuração.
Se quiser ajustar qualquer um dos campos mencionados acima, repita as etapas um e dois para modificar as configurações de acordo com suas necessidades.
Etapa 4: (opcional) Publish seu destino publish-destination
Após configurar seu destino, use a API de publicação de destino para enviar sua configuração ao Adobe para revisão.
Etapa 5: (opcional) documentar seu destino document-destination
Se você for um ISV (Fornecedor Independente de Software) ou um SI (Integrador de Sistemas) criando uma integração de produtos, use o processo de documentação de autoatendimento para criar uma página de documentação de produto para seu destino no catálogo de destinos do Experience Platform.
Próximas etapas next-steps
Após a leitura deste artigo, você sabe como criar um destino Amazon S3 personalizado usando o Destination SDK. Em seguida, sua equipe pode usar o fluxo de trabalho de ativação para destinos baseados em arquivo para exportar dados para o destino.