Verbind Data Landing Zone met Adobe Experience Platform gebruikend de Dienst API van de Stroom
Data Landing Zone is een veilige, op de cloud gebaseerde opslagvoorziening voor bestanden die naar Adobe Experience Platform kunnen worden overgebracht. Gegevens worden automatisch na zeven dagen uit de Data Landing Zone verwijderd.
Dit leerprogramma begeleidt u door de stappen op hoe te om a Data Landing Zone bronverbinding tot stand te brengen gebruikend Flow Service API. Deze zelfstudie bevat ook instructies voor het ophalen van Data Landing Zone en het weergeven en vernieuwen van uw referenties.
Aan de slag
Deze handleiding vereist een goed begrip van de volgende onderdelen van het Experience Platform:
- Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend de diensten van het Platform.
- Sandboxes: Experience Platform verstrekt virtuele zandbakken die één enkele instantie van het Platform in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.
De volgende secties bevatten aanvullende informatie die u moet weten om een Data Landing Zone -bronverbinding met de Flow Service API te kunnen maken.
Dit leerprogramma vereist u ook om de gids te lezen over begonnen wordt met Platform APIsom te leren hoe te aan Platform APIs voor authentiek te verklaren en de voorbeeldvraag te interpreteren die in de documentatie wordt verstrekt.
Een bruikbare landingszone ophalen
De eerste stap bij het gebruik van API's voor toegang tot Data Landing Zone is het aanvragen van een GET voor het /landingzone
eindpunt van de Connectors API terwijl het opgeven van type=user_drop_zone
als onderdeel van de aanvraagheader.
API formaat
GET /data/foundation/connectors/landingzone?type=user_drop_zone
user_drop_zone
user_drop_zone
kan de API een landingszone-container onderscheiden van de andere typen containers die voor u beschikbaar zijn.Verzoek
Met het volgende verzoek wordt een bestaande landingszone opgehaald.
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'
Reactie
De volgende reactie retourneert informatie over een landingszone, inclusief de corresponderende containerName
en containerTTL
.
{
"containerName": "dlz-user-container",
"containerTTL": "7"
}
containerName
containerTTL
Data Landing Zone gebruikersgegevens ophalen
Als u referenties voor een Data Landing Zone wilt ophalen, vraagt u een GET aan bij het /credentials
-eindpunt van de Connectors API.
API formaat
GET /data/foundation/connectors/landingzone/credentials?type=user_drop_zone
Verzoek
In het volgende aanvraagvoorbeeld worden de gegevens voor een bestaande landingszone opgehaald.
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' \
Reactie
De volgende reactie retourneert de referentie-informatie voor de landingszone van uw gegevens, inclusief de huidige SASToken
, SASUri
, storageAccountName
en vervaldatum.
{
"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
De vereiste velden ophalen met behulp van API's
Nadat u uw token hebt gegenereerd, kunt u de vereiste velden programmatisch ophalen aan de hand van de onderstaande aanvraagvoorbeelden:
code language-py |
---|
|
code language-java |
---|
|
Data Landing Zone gebruikersgegevens bijwerken
U kunt uw SASToken
bijwerken door een aanvraag voor een POST in te dienen bij het /credentials
eindpunt van de Connectors API.
API formaat
POST /data/foundation/connectors/landingzone/credentials?type=user_drop_zone&action=refresh
user_drop_zone
user_drop_zone
kan de API een landingszone-container onderscheiden van de andere typen containers die voor u beschikbaar zijn.refresh
refresh
kunt u de gegevens van de landingszone opnieuw instellen en automatisch een nieuwe SASToken
genereren.Verzoek
Met het volgende verzoek worden de gegevens van uw landingszone bijgewerkt.
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' \
Reactie
In het volgende antwoord worden bijgewerkte waarden voor de SASToken
en SASUri
geretourneerd.
{
"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"
}
Bestandsstructuur en inhoud van landingszones verkennen
U kunt de bestandsstructuur en de inhoud van de landingszone verkennen door een aanvraag voor een GET in te dienen bij het eindpunt connectionSpecs
van de Flow Service API.
API formaat
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=root
{CONNECTION_SPEC_ID}
26f526f2-58f4-4712-961d-e41bf1ccc0e8
.Verzoek
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}'
Reactie
Een succesvol antwoord retourneert een array met bestanden en mappen die in de gevraagde map zijn gevonden. Let op de eigenschap path
van het bestand dat u wilt uploaden, aangezien u dit in de volgende stap moet opgeven om de structuur te controleren.
[
{
"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
}
]
Bestandsstructuur en inhoud van landingszone voorvertonen
Om de structuur van een dossier in uw landende streek te inspecteren, voer een verzoek van de GET uit terwijl het verstrekken van de weg van het dossier en type als vraagparameter.
API formaat
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
Verzoek
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}'
Reactie
Een succesvol antwoord geeft de structuur van het gevraagde bestand, inclusief bestandsnamen en gegevenstypen.
{
"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"
}
]
}
Gebruik determineProperties
om automatisch informatie over de bestandseigenschappen van een Data Landing Zone te detecteren
U kunt de parameter determineProperties
gebruiken om eigenschapinformatie van de dossierinhoud van uw Data Landing Zone automatisch te ontdekken wanneer het maken van een vraag van de GET om de inhoud en de structuur van uw bron te onderzoeken.
determineProperties
gebruikt hoofdletters/kleine letters
In de volgende tabel worden verschillende scenario's beschreven die u kunt tegenkomen wanneer u de query-parameter determineProperties
gebruikt of handmatig informatie over het bestand opgeeft.
determineProperties
queryParams
determineProperties
wordt verstrekt als vraagparameter, dan komt de dossiereigenschappen opsporing voor en de reactie keert een nieuwe properties
sleutel terug die informatie over dossiertype, compressietype, en kolomscheidingsteken omvat.queryParams
, worden deze gebruikt om het schema te genereren en worden dezelfde eigenschappen geretourneerd als onderdeel van het antwoord.API formaat
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=file&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&determineProperties=true
determineProperties
true
Verzoek
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}'
Reactie
Een succesvol antwoord retourneert de structuur van het bestand waarop de vraag betrekking heeft, inclusief bestandsnamen en gegevenstypen, en ook een properties
-sleutel met informatie over fileType
, compressionType
en columnDelimiter
.
code language-json |
---|
|
properties.fileType
delimited
, json
en parquet
.properties.compressionType
Het corresponderende compressietype dat wordt gebruikt voor het bestand waarnaar wordt gevraagd. De ondersteunde compressietypen zijn:
bzip2
gzip
zipDeflate
tarGzip
tar
properties.columnDelimiter
(,)
.Een bronverbinding maken
Een bronverbinding maakt en beheert de verbinding met de externe bron vanwaar gegevens worden ingevoerd. Een bronverbinding bestaat uit informatie zoals gegevensbron, gegevensformaat, en bron identiteitskaart nodig om een gegevensstroom tot stand te brengen. Een bronverbindingsinstantie is specifiek voor een huurder en organisatie.
Als u een bronverbinding wilt maken, vraagt u een POST naar het /sourceConnections
-eindpunt van de Flow Service API.
API formaat
POST /sourceConnections
Verzoek
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
.Reactie
Een succesvolle reactie keert het unieke herkenningsteken (id
) van de pas gecreëerde bronverbinding terug. Deze id is vereist in de volgende zelfstudie om een gegevensstroom te maken.
{
"id": "f5b46949-8c8d-4613-80cc-52c9c039e8b9",
"etag": "\"1400d460-0000-0200-0000-613be3520000\""
}
Volgende stappen
Aan de hand van deze zelfstudie hebt u uw Data Landing Zone -gegevens opgehaald, de bestandsstructuur verkend om het bestand te zoeken dat u naar Platform wilt verzenden, en een bronverbinding gemaakt om uw gegevens naar Platform te brengen. U kunt nu aan het volgende leerprogramma te werk gaan, waar u zult leren hoe te een dataflow creëren om de gegevens van de wolkenopslag aan Platform te brengen gebruikend Flow Service API.