Data Landing Zone
Data Landing Zone はAdobe Experience Platformによってプロビジョニングされた Azure Blob ストレージインターフェイスであり、ファイルをExperience Platformに取り込むための安全なクラウドベースのファイルストレージ機能にアクセスできます。 サンドボックスごとに 1 つの Data Landing Zone コンテナに対するアクセス権があります。すべてのコンテナの合計データ量は、Experience Platform製品およびサービスライセンスで提供される合計データ量に制限されます。 Experience Platformのすべてのユーザーは、サンドボックスごとに 1 つの Data Landing Zone コンテナを使用してプロビジョニングされます。 Azure Storage Explorer またはコマンドラインインターフェイスを通じて、コンテナに対してファイルの読み取りと書き込みを行うことができます。
Data Landing Zone は SAS ベースの認証をサポートし、そのデータは保存時および転送中は標準 Azure Blob ストレージセキュリティメカニズムで保護されます。SAS ベースの認証を使用すると、パブリックインターネット接続を介して Data Landing Zone コンテナに安全にアクセスできます。ユーザーが Data Landing Zone コンテナにアクセスする場合、ネットワークの変更は必要ありません。つまり、ネットワークの許可リストや地域間設定は必要ありません。 Experience Platformでは、Data Landing Zone コンテナにアップロードされるすべてのファイルおよびフォルダーに対して厳密に 7 日間の有効期限が適用されます。 すべてのファイルとフォルダーは、7 日後に削除されます。
Azure 上のExperience Platformの Data Landing Zone ソースを設定する azure
Azure でExperience Platform用に Data Landing Zone アカウントを設定する方法については、次の手順に従います。
ファイルとディレクトリの命名制約
クラウドストレージファイルまたはディレクトリに名前を付ける際に考慮する必要がある制約のリストを次に示します。
- ディレクトリ名とファイルコンポーネント名は 255 文字を超えてはなりません。
- ディレクトリ名とファイル名の末尾にスラッシュ(
/
)は使用できません。使用した場合、自動的に削除されます。 - 次の予約 URL 文字は、適切にエスケープする必要があります。
! ' ( ) ; @ & = + $ , % # [ ]
- 次の文字は使用できません。
" \ / : | < > * ?
- 無効な URL パス文字は使用できません。
\uE000
のようなコードポイントは、NTFS ファイル名では有効ですが、有効な Unicode 文字ではありません。さらに、制御文字(0x00
から0x1F
、\u0081
など)など、一部の ASCII 文字または Unicode 文字も許可されていません。 HTTP/1.1 で Unicode 文字列を規定するルールについては、RFC 2616、セクション 2.2:基本ルールおよび RFC 3987 を参照してください。 - 次のファイル名は使用できません:LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、PRN、AUX、NUL、CON、CLOCK$、ドット文字(.)、2 つのドット文字(…)。
データランディングゾーンのコンテンツを管理 manage-the-contents-of-your-data-landing-zone
Azure Storage Explorer を使用して Data Landing Zone コンテナのコンテンツを管理することができます。
Azure Storage Explorer UI で、左側のナビゲーションにある「接続」アイコンを選択します。 リソースを選択 ウィンドウが開き、接続するオプションが表示されます。Data Landing Zone に接続する Blob container を選択してください。
次に、接続方法として「共有アクセス署名 URL (SAS)」を選択し、「次へ」をクリックします。
接続方法を選択した後、次に、Data Landing Zone コンテナに対応する 表示名 および Blobコンテナ SAS URL を指定する必要があります。
Data Landing Zone SAS URL を入力し、「次へ を選択します
概要 ウィンドウが開き、Blob エンドポイントと権限を含む設定の概要が表示されます。準備ができたら、「接続」を選択します。
接続が成功すると、Azure Storage Explorer UI と Data Landing Zone コンテナが更新されます。
Data Landing Zone コンテナが Azure Storage Explorer に接続され、Data Landing Zone コンテナへのファイルのアップロードを開始できるようになりました。 アップロードするには、「アップロード」を選択し、「ファイルをアップロード」を選択します。
アップロードするファイルを選択したら、そのファイルをアップロードする Blob タイプと目的の宛先ディレクトリを特定する必要があります。 終了したら「アップロード」を選択します。
コマンドラインインターフェイスを使用した Data Landing Zone へのファイルのアップロード
また、デバイスのコマンドラインインターフェイスを使用して、Data Landing Zone ーバーへのアップロードファイルにアクセスすることもできます。
Bash を使用したファイルのアップロード
次の例では、Bash と cURL を使用して、Azure Blob Storage REST API でファイルを Data Landing Zone にアップロードします。
# 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}"
Python を使用したファイルのアップロード
次の例では Microsoft’sPython v12 SDKを使用して、ファイルを 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)
AzCopy を使用したファイルのアップロード
次の例では、AzCopy ユーティリティ Microsoft’s 使用してファイルを Data Landing Zone にアップロードします。
copy
コマンドを使用していますが、他のコマンドおよびオプションを使用して、AzCopy を使用して Data Landing Zone にファイルをアップロードできます。 詳しくは、この Microsoft AzCopy ドキュメントを参照してください。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
Amazon Web Services上のExperience Platform用の Data Landing Zone ソースの設定 aws
Amazon Web Services(AWS)上のExperience Platform用に Data Landing Zone アカウントを設定する方法については、次の手順に従います。
許可リストに加える AWSでの接続用 IP アドレス。
ソースをAWSのExperience Platformに接続する前に、地域固有の IP アドレスを許可リストに追加する必要があります。 詳しくは、AWSでExperience Platformに接続するための IP アドレスの許可リストに加える に関するガイドを参照してください。
AWS CLI の設定と操作の実行
- AWS CLI の最新バージョンへのインストールまたはアップデートに関するガイドを参照。
一時的な資格情報を使用してAWS CLI を設定
AWS configure
コマンドを使用して、アクセスキーとセッショントークンを使用して CLI を設定します。
aws configure
プロンプトが表示されたら、次の値を入力します。
- AWS アクセスキー ID :
{YOUR_ACCESS_KEY_ID}
- AWS秘密アクセスキー:
{YOUR_SECRET_ACCESS_KEY}
- デフォルトの地域名:
{YOUR_REGION}
(例:us-west-2
) - デフォルトの出力形式:
json
次に、セッショントークンを設定します。
aws configure set aws_session_token your-session-token
Amazon S3 でのファイルの操作
テンプレート:
code language-shell |
---|
|
例:
code language-shell |
---|
|
テンプレート:
code language-shell |
---|
|
例:
code language-shell |
---|
|
Data Landing Zone 資格情報を使用してAWS コンソールにログインします
認証情報を抽出
まず、次の情報を取得する必要があります。
awsAccessKeyId
awsSecretAccessKey
awsSessionToken
ログイントークンの生成
次に、抽出した資格情報を使用してセッションを作成し、AWS フェデレーションエンドポイントを使用してログイントークンを生成します。
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']
AWS コンソールのログイン URL の作成
ログイントークンを取得したら、AWS コンソールにログインし、目的の Amazon S3 バケットを直接指す URL を作成できます。
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}")
AWS コンソールへのアクセス
最後に、生成された URL に移動して、Data Landing Zone 資格情報を使用してAWS コンソールに直接ログインします。この資格情報を使用して、Amazon S3 バケット内の特定のフォルダーにアクセスできます。 ログイン URL を使用すると、そのフォルダーに直接移動し、許可されたデータのみを表示および管理できるようになります。
Data Landing Zone をExperience Platformに接続
以下のドキュメントでは、API またはユーザーインターフェイスを使用して、Data Landing Zone コンテナからAdobe Experience Platformにデータを取り込む方法に関する情報を提供します。