Data Landing Zone
Creato per:
- Sviluppatore
Data Landing Zone è un'interfaccia di archiviazione Azure Blob fornita da Adobe Experience Platform, che consente di accedere a una struttura di archiviazione dei file sicura e basata su cloud per inserire i file in Experience Platform. Hai accesso a un contenitore Data Landing Zone per sandbox e il volume totale di dati in tutti i contenitori è limitato al totale dei dati forniti con la tua licenza Experience Platform Products and Services. Per tutti i clienti di Experience Platform viene eseguito il provisioning con un contenitore Data Landing Zone per sandbox. È possibile leggere e scrivere i file nel contenitore tramite Azure Storage Explorer o l'interfaccia della riga di comando.
Data Landing Zone supporta l'autenticazione basata su SAS e i relativi dati sono protetti con meccanismi di protezione di archiviazione standard Azure Blob in modalità di riposo e transito. L'autenticazione basata su SAS consente di accedere in modo sicuro al contenitore Data Landing Zone tramite una connessione Internet pubblica. Non sono necessarie modifiche di rete per accedere al contenitore Data Landing Zone, pertanto non è necessario configurare elenchi consentiti o impostazioni per più aree geografiche per la rete. Experience Platform impone una scadenza di sette giorni rigorosa su tutti i file e le cartelle caricati in un contenitore Data Landing Zone. Tutti i file e le cartelle vengono eliminati dopo sette giorni.
Configura l'origine Data Landing Zone per Experience Platform su Azure
Segui i passaggi seguenti per scoprire come configurare l'account Data Landing Zone per Experience Platform su Azure.
Vincoli di denominazione per file e directory
Di seguito è riportato un elenco di vincoli di cui è necessario tenere conto per la denominazione dei file o delle directory di archiviazione cloud.
- I nomi dei componenti di directory e file non possono superare i 255 caratteri.
- I nomi di file e directory non possono terminare con una barra (
/
). Se fornito, verrà rimosso automaticamente. - I seguenti caratteri URL riservati devono essere correttamente preceduti dall'escape:
! ' ( ) ; @ & = + $ , % # [ ]
- I seguenti caratteri non sono consentiti:
" \ / : | < > * ?
. - Caratteri di percorso URL non validi non consentiti. I punti di codice come
\uE000
, sebbene validi nei nomi di file NTFS, non sono caratteri Unicode validi. Inoltre, alcuni caratteri ASCII o Unicode, come i caratteri di controllo (ad esempio da0x00
a0x1F
,\u0081
e così via), non sono consentiti. Per le regole che regolano le stringhe Unicode in HTTP/1.1, vedere RFC 2616, Sezione 2.2: Regole di base e RFC 3987. - Non sono consentiti i seguenti nomi di file: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, carattere punto (.) e due caratteri punto (…).
Gestione dei contenuti dell’area di destinazione dati
È possibile utilizzare Azure Storage Explorer per gestire il contenuto del contenitore Data Landing Zone.
Nell'interfaccia utente Azure Storage Explorer, selezionare l'icona di connessione nell'area di navigazione a sinistra. Viene visualizzata la finestra Seleziona risorsa che fornisce le opzioni per la connessione. Selezionare Blob container per connettersi a Data Landing Zone.
Selezionare URL firma di accesso condiviso (SAS) come metodo di connessione, quindi selezionare Avanti.
Dopo aver selezionato il metodo di connessione, è necessario fornire nome visualizzato e l'URL SAS del contenitore Blob che corrisponde al contenitore Data Landing Zone.
Fornisci l'URL SAS Data Landing Zone e seleziona Avanti
Viene visualizzata la finestra Riepilogo che fornisce una panoramica delle impostazioni, incluse informazioni sull'endpoint Blob e sulle autorizzazioni. Al termine, selezionare Connetti.
Una connessione riuscita aggiorna l'interfaccia utente di Azure Storage Explorer con il contenitore Data Landing Zone.
Con il contenitore Data Landing Zone connesso a Azure Storage Explorer, ora puoi iniziare a caricare i file nel contenitore Data Landing Zone. Per caricare, selezionare Carica, quindi selezionare Carica file.
Dopo aver selezionato il file da caricare, è necessario identificare il tipo Blob che si desidera caricare e la directory di destinazione desiderata. Al termine, selezionare Carica.
Carica i file in Data Landing Zone tramite l'interfaccia della riga di comando
È inoltre possibile utilizzare l'interfaccia della riga di comando del dispositivo e accedere ai file di caricamento in Data Landing Zone.
Caricare un file con Bash
Nell'esempio seguente vengono utilizzati Bash e cURL per caricare un file in un Data Landing Zone con l'API REST Azure Blob Storage:
# Set Azure Blob-related settings
DATE_NOW=$(date -Ru | sed 's/\+0000/GMT/')
AZ_VERSION="2018-03-28"
AZ_BLOB_URL="<URL TO BLOB ACCOUNT>"
AZ_BLOB_CONTAINER="<BLOB CONTAINER NAME>"
AZ_BLOB_TARGET="${AZ_BLOB_URL}/${AZ_BLOB_CONTAINER}"
AZ_SAS_TOKEN="<SAS TOKEN, STARTING WITH ? AND ENDING WITH %3D>"
# Path to the file we wish to upload
FILE_PATH="</PATH/TO/FILE>"
FILE_NAME=$(basename "$FILE_PATH")
# Execute HTTP PUT to upload file (remove '-v' flag to suppress verbose output)
curl -v -X PUT \
-H "Content-Type: application/octet-stream" \
-H "x-ms-date: ${DATE_NOW}" \
-H "x-ms-version: ${AZ_VERSION}" \
-H "x-ms-blob-type: BlockBlob" \
--data-binary "@${FILE_PATH}" "${AZ_BLOB_TARGET}/${FILE_NAME}${AZ_SAS_TOKEN}"
Caricare un file con Python
Nell'esempio seguente viene utilizzato Microsoft’s Python v12 SDK per caricare un file in un Data Landing Zone:
import os
from azure.storage.blob import ContainerClient
try:
# Set Azure Blob-related settings
sasUri = "<SAS URI>"
srcFilePath = "<FULL PATH TO FILE>"
srcFileName = os.path.basename(srcFilePath)
# Connect to container using SAS URI
containerClient = ContainerClient.from_container_url(sasUri)
# Upload file to Data Landing Zone with overwrite enabled
with open(srcFilePath, "rb") as fileToUpload:
containerClient.upload_blob(srcFileName, fileToUpload, overwrite=True)
except Exception as ex:
print("Exception: " + ex.strerror)
Carica un file con AzCopy
Nell'esempio seguente viene utilizzata l'utilità Microsoft’s AzCopy per caricare un file in un Data Landing Zone:
copy
, è possibile utilizzare altri comandi e opzioni per caricare un file in Data Landing Zone, utilizzando AzCopy. Per ulteriori informazioni, vedere il Microsoft AzCopy documento.set sasUri=<FULL SAS URI, PROPERLY ESCAPED>
set srcFilePath=<PATH TO LOCAL FILE(S); WORKS WITH WILDCARD PATTERNS>
azcopy copy "%srcFilePath%" "%sasUri%" --overwrite=true --recursive=true
Configura l'origine Data Landing Zone per Experience Platform su Amazon Web Services
Segui i passaggi seguenti per scoprire come configurare l'account Data Landing Zone per Experience Platform su Amazon Web Services (AWS).
Indirizzo IP da inserire nell'elenco Consentiti per la connessione su AWS
Prima di collegare le origini a Experience Platform su AWS, è necessario aggiungere al elenco Consentiti di indirizzi IP specifici per l’area geografica. Per ulteriori informazioni, leggere la guida su inserire nell'elenco Consentiti degli indirizzi IP per la connessione ad Experience Platform su AWS.
Configurazione di AWS CLI ed esecuzione delle operazioni
- Leggi la guida sull'installazione o l'aggiornamento di alla versione più recente di AWS CLI.
Configurare AWS CLI con credenziali temporanee
Utilizza il comando AWS configure
per configurare CLI con chiavi di accesso e token di sessione.
aws configure
Quando richiesto, immetti i seguenti valori:
- ID chiave di accesso AWS:
{YOUR_ACCESS_KEY_ID}
- Chiave di accesso segreta AWS:
{YOUR_SECRET_ACCESS_KEY}
- Nome area predefinito:
{YOUR_REGION}
(ad esempio,us-west-2
) - Formato di output predefinito:
json
Quindi, imposta il token di sessione:
aws configure set aws_session_token your-session-token
Utilizzare i file in Amazon S3
Modello:
aws s3 cp local-file-path s3://bucketName/dlzFolder/remote-file-Name
Esempio:
aws s3 cp example.txt s3://bucketName/dlzFolder/example.txt
Modello:
aws s3 cp s3://bucketName/dlzFolder/remote-file local-file-path
Esempio:
aws s3 cp s3://bucketName/dlzFolder/example.txt example.txt
Usa le credenziali di Data Landing Zone per accedere alla console AWS
Estrai le tue credenziali
Innanzitutto, devi ottenere quanto segue:
awsAccessKeyId
awsSecretAccessKey
awsSessionToken
Generare un token di accesso
Quindi, utilizza le credenziali estratte per creare una sessione e generare un token di accesso utilizzando l’endpoint AWS Federation:
import json
import requests
# Example DLZ response with credentials
response_json = '''{
"credentials": {
"awsAccessKeyId": "your-access-key",
"awsSecretAccessKey": "your-secret-key",
"awsSessionToken": "your-session-token"
}
}'''
# Parse credentials
response_data = json.loads(response_json)
aws_access_key_id = response_data['credentials']['awsAccessKeyId']
aws_secret_access_key = response_data['credentials']['awsSecretAccessKey']
aws_session_token = response_data['credentials']['awsSessionToken']
# Create session dictionary
session = {
'sessionId': aws_access_key_id,
'sessionKey': aws_secret_access_key,
'sessionToken': aws_session_token
}
# Generate the sign-in token
signin_token_url = "https://signin.aws.amazon.com/federation"
signin_token_payload = {
"Action": "getSigninToken",
"Session": json.dumps(session)
}
signin_token_response = requests.post(signin_token_url, data=signin_token_payload)
signin_token = signin_token_response.json()['SigninToken']
Creare l’URL di accesso alla console AWS
Una volta ottenuto il token di accesso, puoi generare l’URL che ti registra nella console AWS e punta direttamente al bucket Amazon S3 desiderato.
from urllib.parse import quote
# Define the S3 bucket and folder path you want to access
bucket_name = "your-bucket-name"
bucket_path = "your-bucket-folder"
# Construct the destination URL
destination_url = f"https://s3.console.aws.amazon.com/s3/buckets/{bucket_name}?prefix={bucket_path}/&tab=objects"
# Create the final sign-in URL
signin_url = f"https://signin.aws.amazon.com/federation?Action=login&Issuer=YourAppName&Destination={quote(destination_url)}&SigninToken={signin_token}"
print(f"Sign-in URL: {signin_url}")
Accedere alla console AWS
Infine, passa all'URL generato per accedere direttamente alla console AWS con le tue credenziali Data Landing Zone, che forniscono l'accesso a una cartella specifica all'interno di un bucket Amazon S3. L’URL di accesso ti porterà direttamente a tale cartella, assicurandoti di visualizzare e gestire solo i dati consentiti.
Connetti Data Landing Zone ad Experience Platform
-
Per connettersi all'origine, sono necessarie le autorizzazioni di controllo di accesso Visualizza origini e Gestisci origini. Per ulteriori informazioni, leggere la panoramica sul controllo degli accessi o contattare l'amministratore del prodotto per ottenere le autorizzazioni necessarie.
-
I collegamenti privati non sono attualmente supportati per la connessione ad Experience Platform tramite Data Landing Zone. Gli unici metodi supportati per l'accesso sono i metodi elencati qui.
La documentazione seguente fornisce informazioni su come portare dati dal contenitore Data Landing Zone a Adobe Experience Platform utilizzando le API o l'interfaccia utente.