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で、左側のナビゲーションで接続アイコンを選択します。 リソースを選択ウィンドウが開き、接続するオプションが表示されます。 Blob containerを選択してData Landing Zoneに接続します。
次に、接続方法として「共有アクセス署名 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’s Python 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を使用したファイルのアップロード
次の例では、Microsoft’s AzCopy ユーティリティを使用してファイルを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 Consoleにログインします
資格情報の抽出
まず、次のものを取得する必要があります。
awsAccessKeyIdawsSecretAccessKeyawsSessionToken
ログイントークンの生成
次に、抽出した資格情報を使用してセッションを作成し、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 Consoleにログインし、目的の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 Consoleへのアクセス
最後に、生成されたURLに移動して、Data Landing Zone資格情報でAWS Consoleに直接ログインし、Amazon S3 バケット内の特定のフォルダーにアクセスできるようにします。 ログイン URLはそのフォルダーに直接移動し、許可されたデータのみが表示および管理されるようにします。
Data Landing ZoneをExperience Platformに接続
-
ソースに接続するには、View SourcesおよびManage Sources アクセス制御権限が必要です。 詳しくは、 アクセス制御の概要を参照するか、製品管理者に連絡して、必要な権限を取得してください。
-
Data Landing Zoneを使用してExperience Platformに接続する場合、プライベートリンクは現在サポートされていません。 アクセスでサポートされているメソッドは、ここに記載されているメソッドだけです。
以下のドキュメントでは、APIまたはユーザーインターフェイスを使用してData Landing Zone コンテナからAdobe Experience Platformにデータを取り込む方法について説明します。