Data Landing Zone
Data Landing Zone is an Azure Blob storage interface provisioned by Adobe Experience Platform, granting you to access a secure, cloud-based file storage facility to bring files into Platform. You have access to one Data Landing Zone container per sandbox, and the total data volume across all containers is limited to the total data provided with your Platform Products and Services license. All customers of Platform and its application services such as Customer Journey Analytics, Journey Orchestration, Intelligent Services, and Adobe Real-Time Customer Data Platform are provisioned with one Data Landing Zone container per sandbox. You can read and write file(s) to your container through Azure Storage Explorer or your command-line interface.
Data Landing Zone supports SAS-based authentication and its data is protected with standard Azure Blob storage security mechanisms at rest and in transit. SAS-based authentication allows you to securely access your Data Landing Zone container through a public internet connection. There are no network changes required for you to access your Data Landing Zone container, which means you do not need to configure any allow lists or cross-region setups for your network. Platform enforces a strict seven-day expiration time on all files uploaded to a Data Landing Zone container. All files are deleted after seven days.
Naming constraints for files and directories
The following is a list of constraints that you must account for when naming your cloud storage files or directories.
- Directory and file component names cannot exceed 255 characters.
- Directory and file names cannot end with a forward slash (
/
). If provided, it will be automatically removed. - The following reserved URL characters must be properly escaped:
! ' ( ) ; @ & = + $ , % # [ ]
- The following characters are not allowed:
" \ / : | < > * ?
. - Illegal URL path characters not allowed. Code points like
\uE000
, while valid in NTFS filenames, are not valid Unicode characters. In addition, some ASCII or Unicode characters, like control characters (such as0x00
to0x1F
,\u0081
, and so on), are also not allowed. For rules governing Unicode strings in HTTP/1.1 see RFC 2616, Section 2.2: Basic Rules and RFC 3987. - The following file names are not allowed: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, dot character (.), and two dot characters (…).
Manage the contents of your Data Landing Zone manage-the-contents-of-your-data-landing-zone
You can use Azure Storage Explorer to manage the contents of your Data Landing Zone container.
In the Azure Storage Explorer UI, select the connection icon in the left-navigation. The Select Resource window appears, providing you with options to connect to. Select Blob container to connect to Data Landing Zone.
Next, select Shared access signature URL (SAS) as your connection method, and then select Next.
After selecting your connection method, you must next provide a display name and the Blob container SAS URL that corresponds with your Data Landing Zone container.
Provide your Data Landing Zone SAS URL and then select Next
The Summary window appears, providing you with an overview of your settings, including information on your Blob endpoint and permissions. When ready, select Connect.
A successful connection updates your Azure Storage Explorer UI with your Data Landing Zone container.
With your Data Landing Zone container connected to Azure Storage Explorer, you can now start uploading files to your Data Landing Zone container. To upload, select Upload and then select Upload Files.
Once you have selected the file you want to upload, you must then identify the Blob type that you want to upload it as and your desired destination directory. When finished, select Upload.
Upload files to your Data Landing Zone using the command line interface
You can also use the command line interface of your device and access upload files to your Data Landing Zone.
Upload a file using Bash
The following example uses Bash and cURL to upload a file to a Data Landing Zone with the Azure Blob Storage REST API:
# 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}"
Upload a file using Python
The following example uses Microsoft’s Python v12 SDK to upload a file to a 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)
Upload a file using AzCopy
The following example uses Microsoft’s AzCopy utility to upload a file to a Data Landing Zone:
copy
command, you can use other commands and options to upload a file to your Data Landing Zone, using AzCopy. See this Microsoft AzCopy document for more information.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
Connect Data Landing Zone to Platform
The documentation below provides information on how to bring data from your Data Landing Zone container to Adobe Experience Platform using APIs or the user interface.