Konfigurera ett Azure Blob Storage-mål med anpassade filformateringsalternativ och konfiguration av anpassat filnamn
Översikt overview
På den här sidan beskrivs hur du använder Destination SDK för att konfigurera ett Azure Blob Storage-mål med anpassade filformateringsalternativ och en anpassad filnamnskonfiguration.
På den här sidan visas alla konfigurationsalternativ som är tillgängliga för Azure Blob Storage-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 generisk Azure Blob-konfiguration med anpassade CSV-filformateringsparametrar som användare kan definiera i användargränssnittet för 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":"Azure Blob server with custom file formatting options and custom file name configuration",
"description":"Azure Blob server with custom file formatting options and custom file name configuration",
"destinationServerType":"FILE_BASED_AZURE_BLOB",
"fileBasedAzureBlobDestination":{
"path":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.path}}"
},
"container":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.container}}"
}
},
"fileConfigurations":{
"compression":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.compression}}"
},
"fileType":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.fileType}}"
},
"csvOptions":{
"sep":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.sep}}"
},
"encoding":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.encoding}}"
},
"quote":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.quote}}"
},
"quoteAll":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.quoteAll}}"
},
"escape":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.escape}}"
},
"escapeQuotes":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.escapeQuotes}}"
},
"header":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.header}}"
},
"ignoreLeadingWhiteSpace":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.ignoreLeadingWhiteSpace}}"
},
"nullValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.nullValue}}"
},
"dateFormat":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.dateFormat}}"
},
"charToEscapeQuoteEscaping":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.charToEscapeQuoteEscaping}}"
},
"emptyValue":{
"templatingStrategy":"PEBBLE_V1",
"value":"{{customerData.dateFormat}}"
}
}
}
}'
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 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":"Azure Blob Storage destination with custom file formatting options and custom file name configuration",
"description":"Azure Blob Storage destination with custom file formatting options and custom file name configuration",
"status":"TEST",
"customerAuthenticationConfigurations":[
{
"authType":"AZURE_CONNECTION_STRING"
}
],
"customerDataFields":[
{
"name":"path",
"title":"Folder path",
"description":"Enter your Azure Blob folder path",
"type":"string",
"isRequired":true,
"readOnly":false,
"hidden":false
},
{
"name":"container",
"title":"Azure Blob container name",
"description":"Enter your Azure Blob container name",
"type":"string",
"isRequired":true,
"readOnly":false,
"hidden":false
},
{
"name":"sep",
"title":"Enter your desired separator for each field and value",
"description":"Enter your desired separator for each field and value",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"encoding",
"title":"Select the desired CSV file encoding",
"description":"Select the desired CSV file encoding",
"type":"string",
"enum":[
"UTF-8",
"UTF-16"
],
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"quote",
"title":"Quoted values escape character",
"description":"Enter the desired character to be used for escaping quoted values.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"quoteAll",
"title":"Escape all quoted values",
"description":"Select whether to escape all quoted values.",
"type":"string",
"enum":[
"true",
"false"
],
"default":"true",
"isRequired":true,
"readOnly":false,
"hidden":false
},
{
"name":"escape",
"title":"Quote escaping character",
"description":"Enter the desired character to be used for escaping quotes inside an already quoted value.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"escapeQuotes",
"title":"Enclose quoted values within quotes",
"description":"Select whether values containing quotes should always be enclosed in quotes.",
"type":"string",
"enum":[
"true",
"false"
],
"isRequired":false,
"default":"true",
"readOnly":false,
"hidden":false
},
{
"name":"header",
"title":"Generate file header.",
"description":"Select whether to write the names of columns as the first line of the exported files.",
"type":"string",
"isRequired":false,
"enum":[
"true",
"false"
],
"readOnly":false,
"default":"true",
"hidden":false
},
{
"name":"ignoreLeadingWhiteSpace",
"title":"Ignore leading white space",
"description":"Select whether leading whitespaces should be trimmed from exported values.",
"type":"string",
"isRequired":false,
"enum":[
"true",
"false"
],
"readOnly":false,
"default":"true",
"hidden":false
},
{
"name":"nullValue",
"title":"NULL value string format",
"description":"Enter the string representation of a NULL value. ",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"dateFormat",
"title":"Date format",
"description":"Enter the desired date format. ",
"type":"string",
"default":"yyyy-MM-dd",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"charToEscapeQuoteEscaping",
"title":"Quote escaping escape character",
"description":"Enter the desired character to be used for escaping the escaping of a quote character.",
"type":"string",
"isRequired":false,
"readOnly":false,
"hidden":false
},
{
"name":"emptyValue",
"title":"Empty value string format",
"description":"Enter the string representation of an empty value.",
"type":"string",
"isRequired":false,
"readOnly":false,
"default":"",
"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-blob-connection-parameters-en",
"category":"cloudStorage",
"connectionType":"Azure Blob",
"frequency":"Batch",
"flowRunsSupported":true,
"monitoringSupported":true
},
"destinationDelivery":[
{
"deliveryMatchers":[
{
"type":"SOURCE",
"value":[
"batch"
]
}
],
"authenticationRule":"CUSTOMER_AUTHENTICATION",
"destinationServerId":"{{instanceID of your destination server}}"
}
],
"schemaConfig":{
"profileRequired":true,
"segmentRequired":true,
"identityRequired":true
},
"batchConfig":{
"allowMandatoryFieldSelection":true,
"allowJoinKeyFieldSelection":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",
"EVERY_HOUR"
],
"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.
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.
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.
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.
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
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
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 Azure Blob Storage-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.