Abrufen einer verwendbaren Landing Zone
type=user_drop_zone
abrufen zu können. Weitere Informationen finden Sie unter Zugriffskontrolle - Übersicht oder wenden Sie sich an Ihren Produktadministrator, um die erforderlichen Berechtigungen zu erhalten.Der erste Schritt bei der Verwendung von APIs für den Zugriff auf Data Landing Zone besteht darin, eine GET-Anfrage an den /landingzone
-Endpunkt der Connectors-API zu stellen und dabei type=user_drop_zone
als Teil Ihres Anfrage-Headers bereitzustellen.
API-Format
GET /data/foundation/connectors/landingzone?type=user_drop_zone
Kopfzeilen | Beschreibung |
---|---|
user_drop_zone | Der user_drop_zone ermöglicht es der API, einen Landing Zone-Container von den anderen Containertypen zu unterscheiden, die Ihnen zur Verfügung stehen. |
Anfrage
Mit der folgenden Anfrage wird eine vorhandene Landing Zone abgerufen.
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'
Antwort
Je nach Anbieter gibt eine erfolgreiche Anfrage Folgendes zurück:
{
"containerName": "dlz-user-container",
"containerTTL": "7"
}
Eigenschaft | Beschreibung |
---|---|
containerName | Der Name der Landing Zone, die Sie abgerufen haben. |
containerTTL | Die Gültigkeitsdauer (in Tagen), die auf Ihre Daten in der Landing Zone angewendet wird. Alle innerhalb einer bestimmten Landing Zone werden nach sieben Tagen gelöscht. |
{
"dlzPath": {
"bucketName": "dlz-prod-sandboxName",
"dlzFolder": "dlz-adf-connectors"
},
"dataTTL": {
"timeUnit": "days",
"timeQuantity": 7
},
"dlzProvider": "Amazon S3"
}
Data Landing Zone abrufen
Um Anmeldeinformationen für eine Data Landing Zone abzurufen, stellen Sie eine GET-Anfrage an den /credentials
-Endpunkt der Connectors-API.
API-Format
GET /data/foundation/connectors/landingzone/credentials?type=user_drop_zone
Anfrage
Im folgenden Anfragebeispiel werden Anmeldeinformationen für eine vorhandene Landing Zone abgerufen.
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' \
Antwort
Je nach Anbieter gibt eine erfolgreiche Anfrage Folgendes zurück:
{
"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"
}
Eigenschaft | Beschreibung |
---|---|
containerName | Der Name Ihres Data Landing Zone. |
SASToken | Das Shared Access Signature Token für Ihre Data Landing Zone. Diese Zeichenfolge enthält alle Informationen, die zum Autorisieren einer Anfrage erforderlich sind. |
storageAccountName | Der Name Ihres Speicherkontos. |
SASUri | Der Shared Access Signature-URI für Ihre Data Landing Zone. Diese Zeichenfolge ist eine Kombination aus dem URI zum Data Landing Zone, für den Sie authentifiziert werden, und dem entsprechenden SAS-Token. |
expiryDate | Das Datum, an dem Ihr SAS-Token abläuft. Sie müssen Ihr Token vor dem Ablaufdatum aktualisieren, um es weiterhin in Ihrer Anwendung zum Hochladen von Daten in die Data Landing Zone verwenden zu können. Wenn Sie Ihr Token nicht vor dem angegebenen Ablaufdatum manuell aktualisieren, wird es automatisch aktualisiert und ein neues Token bereitgestellt, wenn der Aufruf der GET-Anmeldeinformationen ausgeführt wird. |
{
"credentials": {
"clientId": "example-client-id",
"awsAccessKeyId": "example-access-key-id",
"awsSecretAccessKey": "example-secret-access-key",
"awsSessionToken": "example-session-token"
},
"dlzPath": {
"bucketName": "dlz-prod-sandboxName",
"dlzFolder": "user_drop_zone"
},
"dlzProvider": "Amazon S3",
"expiryTime": 1735689599
}
Eigenschaft | Beschreibung |
---|---|
credentials.clientId | Die Client-ID Ihres Data Landing Zone in AWS. |
credentials.awsAccessKeyId | Die Zugriffsschlüssel-ID Ihres Data Landing Zone in AWS. |
credentials.awsSecretAccessKey | Der geheime Zugriffsschlüssel Ihrer Data Landing Zone in AWS. |
credentials.awsSessionToken | Ihr AWS-Sitzungs-Token. |
dlzPath.bucketName | Der Name Ihres AWS-Buckets. |
dlzPath.dlzFolder | Der Data Landing Zone Ordner, auf den Sie zugreifen. |
dlzProvider | Der Data Landing Zone, den Sie verwenden. Für Amazon wird dies Amazon S3. |
expiryTime | Die Ablaufzeit in Unix-Zeit. |
Abrufen der erforderlichen Felder mithilfe von APIs
Nachdem Sie Ihr Token generiert haben, können Sie die erforderlichen Felder programmgesteuert abrufen, indem Sie die folgenden Anfragebeispiele verwenden:
import requests
# API endpoint
url = "https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=user_drop_zone"
headers = {
"Authorization": "{TOKEN}",
"Content-Type": "application/json",
"x-gw-ims-org-id": "{ORG_ID}",
"x-api-key": "{API_KEY}"
}
# Send GET request to the API
response = requests.get(url, headers=headers)
# Check if the request was successful
if response.status_code == 200:
# Parse the response as JSON (if applicable)
data = response.json()
# Print or work with the fetched data
print(" Sas Token:", data['SASToken'])
print(" Container Name:", data['containerName'])
print("\n")
else:
# Print an error message if the request failed
print(f"Failed to fetch data. Status code: {response.status_code}")
print(f"Response: {response.text}")
package org.example;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) {
ObjectMapper objectMapper = new ObjectMapper();
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(
"https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=user_drop_zone");
getRequest.addHeader("accept", "application/json");
getRequest.addHeader("Authorization","<TOKEN>");
getRequest.addHeader("Content-Type", "application/json");
getRequest.addHeader("x-gw-ims-org-id", "<ORG_ID>");
getRequest.addHeader("x-api-key", "<API_KEY>");
HttpResponse response = httpClient.execute(getRequest);
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatusLine().getStatusCode());
}
final JsonNode jsonResponse = objectMapper.readTree(response.getEntity().getContent());
System.out.println("\nOutput from API Response .... \n");
System.out.printf("ContainerName: %s%n", jsonResponse.at("/containerName").textValue());
System.out.printf("SASToken: %s%n", jsonResponse.at("/SASToken").textValue());
httpClient.getConnectionManager().shutdown();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Aktualisieren Data Landing Zone Anmeldeinformationen
Sie können Ihre SASToken
aktualisieren, indem Sie eine POST-Anfrage an den /credentials
-Endpunkt der Connectors-API stellen.
API-Format
POST /data/foundation/connectors/landingzone/credentials?type=user_drop_zone&action=refresh
Kopfzeilen | Beschreibung |
---|---|
user_drop_zone | Der user_drop_zone ermöglicht es der API, einen Landing Zone-Container von den anderen Containertypen zu unterscheiden, die Ihnen zur Verfügung stehen. |
refresh | Mit der refresh Aktion können Sie Ihre Anmeldeinformationen für die Landing Zone zurücksetzen und automatisch eine neue SASToken generieren. |
Anfrage
Die folgende Anfrage aktualisiert Ihre Anmeldeinformationen für die Landing Zone.
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' \
Antwort
Die folgende Antwort gibt aktualisierte Werte für Ihre SASToken
und SASUri
zurück.
{
"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"
}
Dateistruktur und Inhalte der Landing Zone erkunden
Sie können die Dateistruktur und den Inhalt Ihrer Landing Zone untersuchen, indem Sie eine GET-Anfrage an den connectionSpecs
-Endpunkt der Flow Service-API stellen.
API-Format
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=root
Parameter | Beschreibung |
---|---|
{CONNECTION_SPEC_ID} | Die Verbindungsspezifikations-ID, die Data Landing Zone entspricht. Diese feste ID lautet: 26f526f2-58f4-4712-961d-e41bf1ccc0e8 . |
Anfrage
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}'
Antwort
Eine erfolgreiche Antwort gibt ein Array von Dateien und Ordnern zurück, die im abgefragten Verzeichnis gefunden wurden. Notieren Sie sich die path
-Eigenschaft der Datei, die Sie hochladen möchten, da Sie sie im nächsten Schritt bereitstellen müssen, um ihre Struktur zu überprüfen.
[
{
"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
}
]
Vorschau der Dateistruktur und des Inhalts der Landing Zone
Um die Dateistruktur in Ihrer Landing Zone zu überprüfen, führen Sie eine GET-Anfrage aus, wobei Sie den Dateipfad und den Typ als Abfrageparameter angeben.
API-Format
GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=file&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}
Parameter | Beschreibung | Beispiel |
---|---|---|
{CONNECTION_SPEC_ID} | Die Verbindungsspezifikations-ID, die Data Landing Zone entspricht. Diese feste ID lautet: 26f526f2-58f4-4712-961d-e41bf1ccc0e8 . | |
{OBJECT_TYPE} | Der Typ des Objekts, auf das Sie zugreifen möchten. | file |
{OBJECT} | Der Pfad und der Name des Objekts, auf das Sie zugreifen möchten. | dlz-user-container/data8.csv |
{FILE_TYPE} | Der Typ der Datei. |
|
{PREVIEW} | Ein boolescher Wert, der definiert, ob die Dateivorschau unterstützt wird. |
|
Anfrage
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}'
Antwort
Eine erfolgreiche Antwort gibt die Struktur der abgefragten Datei zurück, einschließlich Dateinamen und Datentypen.
{
"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"
}
]
}