Konfigurera ett Amazon S3-mål med fördefinierade filformateringsalternativ och anpassad filnamnskonfiguration

Översikt overview

På den här sidan beskrivs hur du använder Destination SDK för att konfigurera ett Amazon S3-mål med fördefinierade standardalternativ för filformatering och en anpassad filnamnskonfiguration.

På den här sidan visas alla konfigurationsalternativ som är tillgängliga för Amazon S3 mål. Du kan redigera konfigurationerna som visas i stegen nedan eller ta bort vissa delar av konfigurationerna efter behov.

Detaljerade beskrivningar av parametrarna som används nedan finns i konfigurationsalternativ i Destinations SDK.

Förhandskrav prerequisites

Innan du går vidare till stegen som beskrivs nedan bör du läsa sidan Komma igång för Destination SDK för att få information om hur du får de autentiseringsuppgifter för Adobe I/O och andra krav som krävs för att arbeta med Destination SDK-API:er.

Steg 1: Skapa en server- och filkonfiguration create-server-file-configuration

Börja med att använda slutpunkten /destination-server för att skapa en server- och filkonfiguration.

API-format

POST platform.adobe.io/data/core/activation/authoring/destination-servers

Begäran

Följande begäran skapar en ny målserverkonfiguration, konfigurerad med parametrarna som anges i nyttolasten.
Nyttolasten nedan innehåller en allmän Amazon S3-konfiguration med fördefinierade standardkonfigurationsparametrar för CSV-filformatering som användare kan definiera i användargränssnittet i 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": ""
            }
        }
    }
}'

Ett lyckat svar returnerar den nya målserverkonfigurationen, inklusive konfigurationens unika identifierare (instanceId). Lagra det här värdet som det ska i nästa steg.

Steg 2: Skapa målkonfiguration create-destination-configuration

När du har skapat målservern och filformateringskonfigurationen i föregående steg kan du nu använda API-slutpunkten /destinations för att skapa en målkonfiguration.

Om du vill ansluta serverkonfigurationen i steg 1 till den här målkonfigurationen ersätter du värdet destinationServerId i API-begäran nedan med värdet instanceId som du fick när du skapade målservern i steg 1.

API-format

POST platform.adobe.io/data/core/activation/authoring/destinations

Begäran

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
   }
}'

Ett lyckat svar returnerar den nya målkonfigurationen, inklusive konfigurationens unika identifierare (instanceId). Lagra det här värdet som det är nödvändigt om du behöver göra ytterligare HTTP-begäranden för att uppdatera målkonfigurationen.

Steg 3: Verifiera användargränssnittet i Experience Platform verify-ui

Baserat på ovanstående konfigurationer kommer Experience Platform-katalogen nu att visa ett nytt privat destinationskort som du kan använda.

Skärminspelning som visar målkatalogsidan med ett valt målkort.

Observera hur alternativen i aktiveringsarbetsflödet för filbaserade mål i bilderna och inspelningarna nedan matchar alternativen som du valde i målkonfigurationen.

När du fyller i information om målet bör du tänka på hur fälten som visas är anpassade datafält som du ställer in i konfigurationen.

TIP
Den ordning i vilken du lägger till anpassade datafält i målkonfigurationen visas inte i användargränssnittet. Kunddatafälten visas alltid i den ordning som visas i skärminspelningen nedan.

Skärminspelning som visar de kunddatafält som definierats i din konfiguration.

När du schemalägger exportintervall bör du observera hur fälten som visas är de fält som du har konfigurerat i batchConfig-konfigurationen.
alternativ för exportplanering

När du visar konfigurationsalternativen för filnamn bör du observera hur fälten som visas representerar de filenameConfig-alternativ som du har konfigurerat i konfigurationen.
konfigurationsalternativ för filnamn

Om du vill justera något av fälten ovan upprepar du steg ett och två för att ändra konfigurationerna efter dina behov.

Steg 4: (Valfritt) Publish ditt mål publish-destination

NOTE
Det här steget är inte nödvändigt om du skapar ett privat mål för eget bruk och inte vill publicera det i målkatalogen för andra kunder.

När du har konfigurerat målet kan du använda API:t för målpublicering för att skicka konfigurationen till Adobe för granskning.

Steg 5: (Valfritt) Dokumentera destinationen document-destination

NOTE
Det här steget är inte nödvändigt om du skapar ett privat mål för eget bruk och inte vill publicera det i målkatalogen för andra kunder.

Om du är en oberoende programvaruleverantör (ISV) eller systemintegratör (SI) som skapar en tillverkad integrering använder du självbetjäningsdokumentationsprocessen för att skapa en produktdokumentationssida för destinationen i Experience Platform-målkatalogen.

Nästa steg next-steps

Genom att läsa den här artikeln kan du nu skapa ett anpassat Amazon S3-mål med hjälp av Destination SDK. Därefter kan ditt team använda aktiveringsarbetsflödet för filbaserade mål för att exportera data till målet.

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