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 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 Experience Platform.
- Sandboxes : Experience Platform verstrekt virtuele zandbakken die één enkele instantie van Experience Platform in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.
Dit leerprogramma vereist u ook om de gids te lezen over begonnen wordt met Experience Platform APIs om te leren hoe te aan Experience Platform APIs voor authentiek te verklaren en de voorbeeldvraag te interpreteren die in de documentatie wordt verstrekt.
De volgende secties bevatten aanvullende informatie die u moet weten om een Data Landing Zone -bronverbinding met de Flow Service API te kunnen maken.
Een bruikbare landingszone ophalen
type=user_drop_zone op te halen. Voor meer informatie, lees het overzicht van de toegangscontrole of contacteer uw productbeheerder om de vereiste toestemmingen te verkrijgen.De eerste stap bij het gebruik van API's voor toegang tot Data Landing Zone is het indienen van een GET-aanvraag voor het /landingzone eindpunt van de Connectors API terwijl type=user_drop_zone wordt opgegeven als onderdeel van de aanvraagheader.
API formaat
GET /data/foundation/connectors/landingzone?type=user_drop_zone
user_drop_zoneuser_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
Afhankelijk van uw leverancier retourneert een succesvol verzoek het volgende:
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Eigenschap | Beschrijving |
containerName |
De naam van de landingszone die u hebt opgehaald. |
containerTTL |
De vervaltijd (in dagen) die op uw gegevens binnen de landingszone wordt toegepast. Alle gegevens binnen een bepaalde landingszone worden na zeven dagen verwijderd. |
| code language-json |
|---|
|
Data Landing Zone gebruikersgegevens ophalen
Als u referenties voor een Data Landing Zone wilt ophalen, vraagt u GET het /credentials -eindpunt van de Connectors API aan.
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
Afhankelijk van uw leverancier retourneert een succesvol verzoek het volgende:
| code language-json |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 | |
|---|---|
| Eigenschap | Beschrijving |
containerName |
De naam van de Data Landing Zone . |
SASToken |
Het token voor gedeelde toegangshandtekeningen voor uw Data Landing Zone . Deze tekenreeks bevat alle informatie die nodig is om een aanvraag te autoriseren. |
storageAccountName |
De naam van uw opslagaccount. |
SASUri |
De URI voor de gedeelde toegangshandtekening voor uw Data Landing Zone . Deze tekenreeks is een combinatie van de URI naar de Data Landing Zone waarnaar u wordt geverifieerd en de bijbehorende SAS-token. |
expiryDate |
De datum waarop uw SAS-token verloopt. U moet uw token vernieuwen vóór de vervaldatum om deze te kunnen blijven gebruiken in uw toepassing voor het uploaden van gegevens naar de Data Landing Zone . Als u uw token niet handmatig vernieuwt vóór de opgegeven vervaldatum, wordt deze automatisch vernieuwd en wordt er een nieuw token weergegeven wanneer de aanroep van de GET-gebruikersgegevens wordt uitgevoerd. |
| 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 | |
|---|---|
| Eigenschap | Beschrijving |
credentials.clientId |
De client-id van uw Data Landing Zone in AWS. |
credentials.awsAccessKeyId |
De toegangs belangrijkste identiteitskaart van uw Data Landing Zone in AWS. |
credentials.awsSecretAccessKey |
De geheime toegangssleutel van uw Data Landing Zone in AWS. |
credentials.awsSessionToken |
Uw AWS-sessietoken. |
dlzPath.bucketName |
De naam van je AWS emmertje. |
dlzPath.dlzFolder |
De map Data Landing Zone die u opent. |
dlzProvider |
De Data Landing Zone -provider die u gebruikt. Voor Amazon is dit Amazon S3 . |
expiryTime |
De vervaltijd in unieke tijd. |
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 POST-aanvraag 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_zoneuser_drop_zone kan de API een landingszone-container onderscheiden van de andere typen containers die voor u beschikbaar zijn.refreshrefresh 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 inhoud van de landingszone verkennen door een GET-aanvraag 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 landingsstreek te inspecteren, voer een verzoek van GET terwijl het verstrekken van de weg van het dossier en type als vraagparameter uit.
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}delimitedjsonparquet
{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
Met de parameter determineProperties kunt u eigenschapinformatie van de bestandsinhoud van uw Data Landing Zone automatisch detecteren wanneer u een GET-aanroep maakt om de inhoud en structuur van uw bron te verkennen.
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.
determinePropertiesqueryParamsdetermineProperties 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
determinePropertiestrueVerzoek
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.fileTypedelimited , json en parquet .properties.compressionTypeHet corresponderende compressietype dat wordt gebruikt voor het bestand waarnaar wordt gevraagd. De ondersteunde compressietypen zijn:
bzip2gzipzipDeflatetarGziptar
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-aanvraag 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"
}
}'
namedata.formatparams.pathconnectionSpec.id26f526f2-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 onderzocht om het bestand te zoeken dat u naar Experience Platform wilt verzenden, en een bronverbinding gemaakt om uw gegevens naar Experience Platform te verzenden. 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 Experience Platform te brengen gebruikend Flow Service API .