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.
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.
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.
Hämta en användbar landningszon
type=user_drop_zone
. Mer information finns i åtkomstkontrollsöversikten eller kontakta produktadministratören för att få den behörighet som krävs.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
Beroende på din leverantör returnerar en slutförd begäran följande:
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 | |
---|---|
Egenskap | Beskrivning |
containerName |
Namnet på den landningszon som du hämtade. |
containerTTL |
Förfallotid (i dagar) som gäller för dina data inom landningszonen. Alla inom en viss landningszon ska strykas efter sju dagar. |
code language-json |
---|
|
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
Beroende på din leverantör returnerar en slutförd begäran följande:
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 | |
---|---|
Egenskap | Beskrivning |
containerName |
Namnet på din Data Landing Zone. |
SASToken |
Underskriftstoken för delad åtkomst för din Data Landing Zone. Strängen innehåller all information som krävs för att godkänna en begäran. |
storageAccountName |
Namnet på ditt lagringskonto. |
SASUri |
Den delade åtkomstsignaturens URI för din Data Landing Zone. Den här strängen är en kombination av URI:n till Data Landing Zone som du autentiseras mot och dess motsvarande SAS-token. |
expiryDate |
Det datum då din SAS-token upphör att gälla. Du måste uppdatera din token före förfallodatumet för att kunna fortsätta använda den i ditt program för att överföra data till Data Landing Zone. Om du inte uppdaterar din token manuellt före det angivna förfallodatumet uppdateras den automatiskt och en ny token skapas när GETENS inloggningsanrop utförs. |
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 | |
---|---|
Egenskap | Beskrivning |
credentials.clientId |
Klient-ID för din Data Landing Zone i AWS. |
credentials.awsAccessKeyId |
Åtkomstnyckel-ID för din Data Landing Zone i AWS. |
credentials.awsSecretAccessKey |
Den hemliga åtkomstnyckeln för din Data Landing Zone i AWS. |
credentials.awsSessionToken |
Din AWS sessionstoken. |
dlzPath.bucketName |
Namnet på din AWS-bucket. |
dlzPath.dlzFolder |
Mappen Data Landing Zone som du använder. |
dlzProvider |
Providern Data Landing Zone som du använder. För Amazon blir detta Amazon S3. |
expiryTime |
Utgångsdatum i unix-tid. |
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.