Anslut Data Landing Zone till Adobe Experience Platform med API:t för Flow Service
Data Landing Zone är en säker, molnbaserad fillagringsfunktion som hämtar filer till Adobe Experience Platform. Data tas automatiskt bort från Data Landing Zone efter sju dagar.
I den här självstudiekursen får du hjälp med att skapa en Data Landing Zone-källanslutning med Flow Service API. Den här självstudiekursen innehåller även anvisningar om hur du hämtar din Data Landing Zone samt visar och uppdaterar dina autentiseringsuppgifter.
Komma igång
Handboken kräver en fungerande förståelse av följande komponenter i Experience Platform:
- Källor: Experience Platform tillåter data att hämtas från olika källor samtidigt som du kan strukturera, etikettera och förbättra inkommande data med hjälp av plattformstjänster.
- Sandlådor: Experience Platform tillhandahåller virtuella sandlådor som partitionerar en enda plattformsinstans till separata virtuella miljöer för att utveckla och utveckla program för digitala upplevelser.
I följande avsnitt finns ytterligare information som du behöver känna till för att kunna skapa en Data Landing Zone-källanslutning med API:t Flow Service.
Den här självstudien kräver även att du läser guiden komma igång med plattforms-API:er för att lära dig hur du autentiserar till plattforms-API:er och tolkar de exempelanrop som finns i dokumentationen.
Hämta en användbar landningszon
Det första steget i att använda API:er för att få åtkomst till Data Landing Zone är att göra en GET-begäran till /landingzone
-slutpunkten för Connectors API:t och samtidigt tillhandahålla type=user_drop_zone
som en del av din begäranderubrik.
API-format
GET /data/foundation/connectors/landingzone?type=user_drop_zone
user_drop_zone
user_drop_zone
gör att API:t kan skilja en behållare för landningszon från andra typer av behållare som är tillgängliga för dig.Begäran
Följande begäran hämtar en befintlig landningszon.
curl -X GET \
'https://platform.adobe.io/data/foundation/connectors/landingzone?type=user_drop_zone' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json'
Svar
Följande svar returnerar information om en landningszon, inklusive dess motsvarande containerName
och containerTTL
.
{
"containerName": "dlz-user-container",
"containerTTL": "7"
}
containerName
containerTTL
Hämta autentiseringsuppgifter för Data Landing Zone
Om du vill hämta autentiseringsuppgifter för en Data Landing Zone gör du en GET-förfrågan till /credentials
-slutpunkten för Connectors API:t.
API-format
GET /data/foundation/connectors/landingzone/credentials?type=user_drop_zone
Begäran
I följande exempel på begäran hämtas autentiseringsuppgifter för en befintlig landningszon.
curl -X GET \
'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=user_drop_zone' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
Svar
Följande svar returnerar autentiseringsuppgifter för din datalandningszon, inklusive ditt nuvarande SASToken
, SASUri
, storageAccountName
och förfallodatum.
{
"containerName": "dlz-user-container",
"SASToken": "sv=2020-04-08&si=dlz-ed86a61d-201f-4b50-b10f-a1bf173066fd&sr=c&sp=racwdlm&sig=4yTba8voU3L0wlcLAv9mZLdZ7NlMahbfYYPTMkQ6ZGU%3D",
"storageAccountName": "dlblobstore99hh25i3dflek",
"SASUri": "https://dlblobstore99hh25i3dflek.blob.core.windows.net/dlz-user-container?sv=2020-04-08&si=dlz-ed86a61d-201f-4b50-b10f-a1bf173066fd&sr=c&sp=racwdlm&sig=4yTba8voU3L0wlcLAv9mZLdZ7NlMahbfYYPTMkQ6ZGU%3D",
"expiryDate": "2024-01-06"
}
containerName
SASToken
SASUri
expiryDate
Hämta obligatoriska fält med API:er
När du har genererat din token kan du hämta de obligatoriska fälten via programmering med hjälp av exemplen nedan:
code language-py |
---|
|
code language-java |
---|
|
Uppdatera autentiseringsuppgifter för Data Landing Zone
Du kan uppdatera SASToken
genom att göra en POST-förfrågan till /credentials
-slutpunkten för Connectors API:t.
API-format
POST /data/foundation/connectors/landingzone/credentials?type=user_drop_zone&action=refresh
user_drop_zone
user_drop_zone
gör att API:t kan skilja en behållare för landningszon från andra typer av behållare som är tillgängliga för dig.refresh
refresh
kan du återställa dina autentiseringsuppgifter för landningszonen och automatiskt generera en ny SASToken
.Begäran
Följande begäran uppdaterar dina inloggningsuppgifter för landningszonen.
curl -X POST \
'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=user_drop_zone&action=refresh' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
Svar
Följande svar returnerar uppdaterade värden för SASToken
och SASUri
.
{
"containerName": "dlz-user-container",
"SASToken": "sv=2020-04-08&si=dlz-9c4d03b8-a6ff-41be-9dcf-20123e717e99&sr=c&sp=racwdlm&sig=JbRMoDmFHQU4OWOpgrKdbZ1d%2BkvslO35%2FXTqBO%2FgbRA%3D",
"storageAccountName": "dlblobstore99hh25i3dflek",
"SASUri": "https://dlblobstore99hh25i3dflek.blob.core.windows.net/dlz-user-container?sv=2020-04-08&si=dlz-9c4d03b8-a6ff-41be-9dcf-20123e717e99&sr=c&sp=racwdlm&sig=JbRMoDmFHQU4OWOpgrKdbZ1d%2BkvslO35%2FXTqBO%2FgbRA%3D",
"expiryDate": "2024-01-06"
}
Utforska landningszonens filstruktur och innehåll
Du kan utforska filstrukturen och innehållet i landningszonen genom att göra en GET-förfrågan till connectionSpecs
-slutpunkten för Flow Service API.
API-format
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=root
{CONNECTION_SPEC_ID}
26f526f2-58f4-4712-961d-e41bf1ccc0e8
.Begäran
curl -X GET \
'http://platform.adobe.io/data/foundation/flowservice/connectionSpecs/26f526f2-58f4-4712-961d-e41bf1ccc0e8/explore?objectType=root' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
Ett lyckat svar returnerar en array med filer och mappar som finns i den efterfrågade katalogen. Observera egenskapen path
för filen som du vill överföra, eftersom du måste ange den i nästa steg för att kunna kontrollera filens struktur.
[
{
"type": "file",
"name": "account.csv",
"path": "dlz-user-container/account.csv",
"canPreview": true,
"canFetchSchema": true
},
{
"type": "file",
"name": "data8.csv",
"path": "dlz-user-container/data8.csv",
"canPreview": true,
"canFetchSchema": true
},
{
"type": "folder",
"name": "userdata1",
"path": "dlz-user-container/userdata1/",
"canPreview": false,
"canFetchSchema": false
}
]
Förhandsgranska landningszonens filstruktur och innehåll
Om du vill inspektera strukturen för en fil i din landningszon ska du utföra en GET-förfrågan och ange filens sökväg och typ som en frågeparameter.
API-format
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=file&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}
{CONNECTION_SPEC_ID}
26f526f2-58f4-4712-961d-e41bf1ccc0e8
.{OBJECT_TYPE}
file
{OBJECT}
dlz-user-container/data8.csv
{FILE_TYPE}
delimited
json
parquet
{PREVIEW}
-
true
-
false
Begäran
curl -X GET \
'http://platform.adobe.io/data/foundation/flowservice/connectionSpecs/26f526f2-58f4-4712-961d-e41bf1ccc0e8/explore?objectType=file&object=dlz-user-container/data8.csv&fileType=delimited&preview=true' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
Ett lyckat svar returnerar strukturen för den efterfrågade filen, inklusive filnamn och datatyper.
{
"format": "flat",
"schema": {
"columns": [
{
"name": "Id",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "FirstName",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "LastName",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "Email",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "Phone",
"type": "string",
"xdm": {
"type": "string"
}
}
]
},
"data": [
{
"Email": "rsmith@abc.com",
"FirstName": "Richard",
"Phone": "111111111",
"Id": "12345",
"LastName": "Smith"
},
{
"Email": "morgan@bac.com",
"FirstName": "Morgan",
"Phone": "22222222222",
"Id": "67890",
"LastName": "Hart"
}
]
}
Använd determineProperties
för att automatiskt identifiera filegenskapsinformation för en Data Landing Zone
Du kan använda parametern determineProperties
för att automatiskt identifiera egenskapsinformation för filinnehållet i Data Landing Zone när du anropar en GET för att utforska källans innehåll och struktur.
determineProperties
använder fall
I följande tabell visas olika scenarier som du kan träffa på när du använder frågeparametern determineProperties
eller manuellt anger information om filen.
determineProperties
queryParams
determineProperties
anges som en frågeparameter, sker identifiering av filegenskaper och svaret returnerar en ny properties
-nyckel som innehåller information om filtyp, komprimeringstyp och kolumnavgränsare.queryParams
, används de för att generera schemat och samma egenskaper returneras som en del av svaret.API-format
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=file&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&determineProperties=true
determineProperties
true
Begäran
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/26f526f2-58f4-4712-961d-e41bf1ccc0e8/explore?objectType=file&object=dlz-user-container/garageWeek/file1&preview=true&determineProperties=true' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Svar
Ett lyckat svar returnerar strukturen för den efterfrågade filen, inklusive filnamn och datatyper, samt en properties
-nyckel, som innehåller information om fileType
, compressionType
och columnDelimiter
.
code language-json |
---|
|
properties.fileType
delimited
, json
och parquet
.properties.compressionType
Motsvarande komprimeringstyp som används för den efterfrågade filen. Komprimeringstyperna som stöds är:
bzip2
gzip
zipDeflate
tarGzip
tar
properties.columnDelimiter
(,)
.Skapa en källanslutning
En källanslutning skapar och hanterar anslutningen till den externa källan som data importeras från. En källanslutning består av information som datakälla, dataformat och det källanslutnings-ID som behövs för att skapa ett dataflöde. En källanslutningsinstans är specifik för en klientorganisation och organisation.
Om du vill skapa en källanslutning skickar du en POST till /sourceConnections
-slutpunkten för Flow Service API:t.
API-format
POST /sourceConnections
Begäran
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Data Landing Zone source connection",
"data": {
"format": "delimited"
},
"params": {
"path": "dlz-user-container/data8.csv"
},
"connectionSpec": {
"id": "26f526f2-58f4-4712-961d-e41bf1ccc0e8",
"version": "1.0"
}
}'
name
data.format
params.path
connectionSpec.id
26f526f2-58f4-4712-961d-e41bf1ccc0e8
.Svar
Ett lyckat svar returnerar den unika identifieraren (id
) för den nyligen skapade källanslutningen. Detta ID krävs i nästa självstudie för att skapa ett dataflöde.
{
"id": "f5b46949-8c8d-4613-80cc-52c9c039e8b9",
"etag": "\"1400d460-0000-0200-0000-613be3520000\""
}
Nästa steg
Genom att följa den här självstudiekursen har du hämtat dina Data Landing Zone-inloggningsuppgifter, utforskat filstrukturen för att hitta filen som du vill hämta till plattformen och skapat en källanslutning för att börja överföra dina data till plattformen. Du kan nu gå vidare till nästa självstudiekurs, där du får lära dig att skapa ett dataflöde för att överföra molnlagringsdata till plattformen med Flow Service API.