Data Landing Zone

IMPORTANT
このページは、Experience PlatformのData Landing Zone source コネクタに固有です。 Data Landing Zone 宛先 コネクタへの接続について詳しくは、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 アカウントを設定する方法については、次の手順に従ってください。

NOTE
Azure Data FactoryからData Landing Zoneにアクセスする場合は、Experience Platformが提供するSAS資格情報を使用して、Data Landing Zoneのリンクされたサービスを作成する必要があります。 リンクされたサービスを作成したら、デフォルトのルートパスではなくコンテナパスを選択してData Landing Zoneを探索できます。

ファイルとディレクトリの命名制約

クラウドストレージファイルまたはディレクトリの命名時に考慮する必要がある制約のリストを次に示します。

  • ディレクトリ名とファイルコンポーネント名は 255 文字を超えてはなりません。
  • ディレクトリ名とファイル名の末尾にスラッシュ(/)は使用できません。 使用した場合、自動的に削除されます。
  • 次の予約 URL 文字は、適切にエスケープする必要があります。! ' ( ) ; @ & = + $ , % # [ ]
  • 次の文字は使用できません。" \ / : | < > * ?
  • 無効な URL パス文字は使用できません。 \uE000 のようなコードポイントは、NTFS ファイル名では有効ですが、有効な Unicode 文字ではありません。 また、コントロール文字(0x000x1F\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に接続します。

Azure エクスプローラーのリソース ワークスペースを選択します。

次に、接続方法として「共有アクセス署名 URL (SAS)」を選択し、「次へ」をクリックします。

共有アクセス署名が選択されたAzure エクスプローラーのselect connection method。

接続方法を選択したら、次にData Landing Zone コンテナに対応する​ 表示名 ​と​ Blobコンテナ SAS URL ​を指定する必要があります。

TIP
Experience Platform UIのソースカタログからData Landing Zone資格情報を取得できます。

Data Landing Zone SAS URLを入力し、次へ​を選択します

表示名とSAS URLが入力されるAzure エクスプローラーのEnter Connection Info ワークスペース。

概要​ウィンドウが開き、Blob エンドポイントと権限を含む設定の概要が表示されます。 準備ができたら、「接続」を選択します。

​ リソース接続の設定を確認するAzure エクスプローラーの概要ワークスペース。

接続が成功すると、Azure Storage Explorer UI と Data Landing Zone コンテナが更新されます。

Azure エクスプローラーのデータランディングゾーンのナビゲーションワークスペース。

Data Landing Zone コンテナをAzure Storage Explorerに接続した状態で、Data Landing Zone コンテナへのファイルのアップロードを開始できます。 アップロードするには、「アップロード」を選択し、「ファイルをアップロード」を選択します。

Azure エクスプローラーのファイルのアップロードワークスペース。

アップロードするファイルを選択したら、アップロードするBlob タイプと目的の宛先ディレクトリを特定する必要があります。 完了したら、アップロード​を選択します。

Blob種類
説明
Blobをブロック
ブロック Blobsは、大量のデータを効率的にアップロードするように最適化されています。 ブロック Blobsは、Data Landing Zoneの既定のオプションです。
Blobを追加
追加Blobsは、ファイルの最後にデータを追加するために最適化されています。

選択したファイル、Blob タイプ、宛先カテゴリが表示されているAzure Explorerのアップロードファイルウィンドウ。

コマンドラインインターフェイスを使用して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にファイルをアップロードします。

TIP
次の例では、完全なSAS URIを使用してAzure Blob コンテナに接続していますが、認証には他の方法や操作を使用できます。 詳しくは、Python v12 SDK🔗に関するこのMicrosoft ドキュメントを参照してください。
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にアップロードします。

TIP
次の例では、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

AVAILABILITY
この節は、Amazon Web Services(AWS)で動作するExperience Platformの実装に適用されます。 AWS上で動作するExperience Platformは、現在、一部のお客様にご利用いただけます。 サポートされているExperience Platform インフラストラクチャについて詳しくは、Experience Platform マルチクラウドの概要を参照してください。

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でファイルを操作

Amazon S3にファイルをアップロード

テンプレート:

code language-shell
aws s3 cp local-file-path s3://bucketName/dlzFolder/remote-file-Name

例:

code language-shell
aws s3 cp example.txt s3://bucketName/dlzFolder/example.txt
Amazon S3からファイルをダウンロード

テンプレート:

code language-shell
aws s3 cp s3://bucketName/dlzFolder/remote-file local-file-path

例:

code language-shell
aws s3 cp s3://bucketName/dlzFolder/example.txt example.txt

Data Landing Zone資格情報を使用してAWS Consoleにログインします

資格情報の抽出

まず、次のものを取得する必要があります。

  • 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 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に接続

IMPORTANT
  • ソースに接続するには、View Sources​および​Manage Sources アクセス制御権限が必要です。 詳しくは、​ アクセス制御の概要を参照するか、製品管理者に連絡して、必要な権限を取得してください。

  • Data Landing Zoneを使用してExperience Platformに接続する場合、プライベートリンクは現在サポートされていません。 アクセスでサポートされているメソッドは、ここに記載されているメソッドだけです

以下のドキュメントでは、APIまたはユーザーインターフェイスを使用してData Landing Zone コンテナからAdobe Experience Platformにデータを取り込む方法について説明します。

API の使用

UI の使用

recommendation-more-help
experience-platform-help-sources