연결 Data Landing Zone 흐름 서비스 API를 사용하여 Adobe Experience Platform에

IMPORTANT
이 페이지는 다음에 한정됩니다. Data Landing Zone 소스 Experience Platform의 커넥터입니다. 에 연결하는 방법에 대한 자세한 내용은 Data Landing Zone 대상 커넥터를 참조하려면 Data Landing Zone 대상 설명서 페이지.

Data Landing Zone 는 Adobe Experience Platform으로 파일을 가져올 수 있는 안전한 클라우드 기반 파일 스토리지 기능입니다. 데이터는 Data Landing Zone 7일 후에요

이 튜토리얼에서는 다음을 만드는 방법을 단계별로 안내합니다. Data Landing Zone 를 사용한 소스 연결 Flow Service API. 이 튜토리얼에서는 을(를) 검색하는 방법에 대한 지침을 제공합니다. Data Landing Zone자격 증명을 보고 새로 고칠 수 있습니다.

시작하기

이 안내서를 사용하려면 Experience Platform의 다음 구성 요소에 대해 이해하고 있어야 합니다.

  • 소스: Experience Platform을 사용하면 플랫폼 서비스를 사용하여 들어오는 데이터를 구조화하고, 레이블을 지정하고, 개선할 수 있는 기능을 제공하면서 다양한 소스에서 데이터를 수집할 수 있습니다.
  • 샌드박스: Experience Platform은 디지털 경험 애플리케이션을 개발하고 발전시키는 데 도움이 되는 단일 플랫폼 인스턴스를 별도의 가상 환경으로 분할하는 가상 샌드박스를 제공합니다.

다음 섹션에서는 를 성공적으로 만들기 위해 알아야 하는 추가 정보를 제공합니다 Data Landing Zone 를 사용한 소스 연결 Flow Service API.

이 자습서에서는 의 안내서를 읽어야 합니다. platform API 시작하기 platform API를 인증하고 설명서에 제공된 예제 호출을 해석하는 방법을 알아봅니다.

사용 가능한 랜딩 영역 검색

API를 사용하여 액세스하기 의 첫 번째 단계 Data Landing Zone 은(는) 다음에 대한 GET 요청을 수행하기 위함입니다. /landingzone 의 엔드포인트 Connectors 제공하는 동안 API type=user_drop_zone 을 요청 헤더의 일부로 사용합니다.

API 형식

GET /data/foundation/connectors/landingzone?type=user_drop_zone
헤더
설명
user_drop_zone
다음 user_drop_zone type 을 사용하면 API에서 랜딩 영역 컨테이너를 사용 가능한 다른 유형의 컨테이너와 구별할 수 있습니다.

요청

다음 요청은 기존 랜딩 영역을 검색합니다.

curl -X GET \
  'https://platform.adobe.io/data/foundation/connectors/landingzone?type=user_drop_zone' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json'

응답

다음 응답은 해당 영역을 포함하여 랜딩 영역에 대한 정보를 반환합니다 containerNamecontainerTTL.

{
    "containerName": "dlz-user-container",
    "containerTTL": "7"
}
속성
설명
containerName
검색한 랜딩 영역의 이름입니다.
containerTTL
랜딩 영역 내의 데이터에 적용되는 만료 시간(일)입니다. 지정된 랜딩 영역 내의 모든 항목이 7일 후에 삭제됩니다.

검색 Data Landing Zone 자격 증명

에 대한 자격 증명을 검색하려면 다음을 수행하십시오. Data Landing Zone에 GET 요청 /credentials 의 엔드포인트 Connectors API.

API 형식

GET /data/foundation/connectors/landingzone/credentials?type=user_drop_zone

요청

다음 요청 예제는 기존 랜딩 영역에 대한 자격 증명을 검색합니다.

curl -X GET \
  'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=user_drop_zone' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \

응답

다음 응답은 현재 상태를 포함하여 데이터 랜딩 영역에 대한 자격 증명 정보를 반환합니다 SASToken, SASUri, storageAccountName및 만료일.

{
    "containerName": "dlz-user-container",
    "SASToken": "sv=2020-04-08&si=dlz-ed86a61d-201f-4b50-b10f-a1bf173066fd&sr=c&sp=racwdlm&sig=4yTba8voU3L0wlcLAv9mZLdZ7NlMahbfYYPTMkQ6ZGU%3D",
    "storageAccountName": "dlblobstore99hh25i3dflek",
    "SASUri": "https://dlblobstore99hh25i3dflek.blob.core.windows.net/dlz-user-container?sv=2020-04-08&si=dlz-ed86a61d-201f-4b50-b10f-a1bf173066fd&sr=c&sp=racwdlm&sig=4yTba8voU3L0wlcLAv9mZLdZ7NlMahbfYYPTMkQ6ZGU%3D",
    "expiryDate": "2024-01-06"
}
속성
설명
containerName
랜딩 영역의 이름입니다.
SASToken
랜딩 영역에 대한 공유 액세스 서명 토큰입니다. 이 문자열에는 요청을 승인하는 데 필요한 모든 정보가 포함되어 있습니다.
SASUri
랜딩 영역에 대한 공유 액세스 서명 URI입니다. 이 문자열은 인증 중인 랜딩 영역에 대한 URI와 해당 SAS 토큰의 조합입니다.
expiryDate
SAS 토큰이 만료되는 날짜. 데이터 랜딩 영역에 데이터를 업로드하기 위해 애플리케이션에서 계속 사용하려면 만료일 전에 토큰을 새로 고쳐야 합니다. 명시된 만료 날짜 이전에 토큰을 수동으로 새로 고치지 않는 경우, GET 자격 증명 호출이 수행될 때 자동으로 새로 고침되고 새 토큰을 제공합니다.

업데이트 Data Landing Zone 자격 증명

다음을 업데이트할 수 있습니다. SASToken 에 POST 요청을 하여 /credentials 의 엔드포인트 Connectors API.

API 형식

POST /data/foundation/connectors/landingzone/credentials?type=user_drop_zone&action=refresh
헤더
설명
user_drop_zone
다음 user_drop_zone type 을 사용하면 API에서 랜딩 영역 컨테이너를 사용 가능한 다른 유형의 컨테이너와 구별할 수 있습니다.
refresh
다음 refresh 작업을 통해 랜딩 영역 자격 증명을 재설정하고 새 항목을 자동으로 생성할 수 있습니다. SASToken.

요청

다음 요청은 랜딩 영역 자격 증명을 업데이트합니다.

curl -X POST \
  'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=user_drop_zone&action=refresh' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \

응답

다음 응답은 다음에 대한 업데이트된 값을 반환합니다. SASTokenSASUri.

{
    "containerName": "dlz-user-container",
    "SASToken": "sv=2020-04-08&si=dlz-9c4d03b8-a6ff-41be-9dcf-20123e717e99&sr=c&sp=racwdlm&sig=JbRMoDmFHQU4OWOpgrKdbZ1d%2BkvslO35%2FXTqBO%2FgbRA%3D",
    "storageAccountName": "dlblobstore99hh25i3dflek",
    "SASUri": "https://dlblobstore99hh25i3dflek.blob.core.windows.net/dlz-user-container?sv=2020-04-08&si=dlz-9c4d03b8-a6ff-41be-9dcf-20123e717e99&sr=c&sp=racwdlm&sig=JbRMoDmFHQU4OWOpgrKdbZ1d%2BkvslO35%2FXTqBO%2FgbRA%3D",
    "expiryDate": "2024-01-06"
}

랜딩 영역 파일 구조 및 콘텐츠 탐색

에 GET 요청을 하여 랜딩 영역의 파일 구조와 콘텐츠를 살펴볼 수 있습니다. connectionSpecs 의 엔드포인트 Flow Service API.

API 형식

GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=root
매개변수
설명
{CONNECTION_SPEC_ID}
에 해당하는 연결 사양 ID Data Landing Zone. 이 고정 ID: 26f526f2-58f4-4712-961d-e41bf1ccc0e8.

요청

curl -X GET \
    'http://platform.adobe.io/data/foundation/flowservice/connectionSpecs/26f526f2-58f4-4712-961d-e41bf1ccc0e8/explore?objectType=root' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

응답

성공한 응답은 쿼리된 디렉터리 내에서 발견된 파일 및 폴더 배열을 반환합니다. 다음 사항에 유의하십시오. path 다음 단계에서 파일 구조를 검사하여 제공해야 하므로 업로드하려는 파일의 속성입니다.

[
    {
        "type": "file",
        "name": "account.csv",
        "path": "dlz-user-container/account.csv",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "file",
        "name": "data8.csv",
        "path": "dlz-user-container/data8.csv",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "folder",
        "name": "userdata1",
        "path": "dlz-user-container/userdata1/",
        "canPreview": false,
        "canFetchSchema": false
    }
]

랜딩 영역 파일 구조 및 콘텐츠 미리보기

랜딩 영역의 파일 구조를 검사하려면 파일의 경로와 유형을 쿼리 매개 변수로 제공하면서 GET 요청을 수행합니다.

API 형식

GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=file&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}
매개변수
설명
{CONNECTION_SPEC_ID}
에 해당하는 연결 사양 ID Data Landing Zone. 이 고정 ID: 26f526f2-58f4-4712-961d-e41bf1ccc0e8.
{OBJECT_TYPE}
액세스하려는 객체의 유형입니다.
file
{OBJECT}
액세스하려는 객체의 경로 및 이름입니다.
dlz-user-container/data8.csv
{FILE_TYPE}
파일의 유형입니다.
  • delimited
  • json
  • parquet
{PREVIEW}
파일 미리 보기가 지원되는지 여부를 정의하는 부울 값.
  • true

  • false

요청

curl -X GET \
    'http://platform.adobe.io/data/foundation/flowservice/connectionSpecs/26f526f2-58f4-4712-961d-e41bf1ccc0e8/explore?objectType=file&object=dlz-user-container/data8.csv&fileType=delimited&preview=true' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

응답

성공한 응답은 파일 이름 및 데이터 유형을 포함하여 쿼리된 파일의 구조를 반환합니다.

{
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "Id",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "FirstName",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "LastName",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "Email",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "Phone",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            }
        ]
    },
    "data": [
        {
            "Email": "rsmith@abc.com",
            "FirstName": "Richard",
            "Phone": "111111111",
            "Id": "12345",
            "LastName": "Smith"
        },
        {
            "Email": "morgan@bac.com",
            "FirstName": "Morgan",
            "Phone": "22222222222",
            "Id": "67890",
            "LastName": "Hart"
        }
    ]
}

사용 determineProperties 의 파일 속성 정보 자동 감지 Data Landing Zone

다음을 사용할 수 있습니다. determineProperties 의 파일 내용 속성 정보를 자동으로 감지하는 매개 변수 Data Landing Zone GET을 호출하여 소스의 콘텐츠와 구조를 살펴볼 때.

determineProperties 활용 사례

다음 표에서는 를 사용할 때 발생할 수 있는 다양한 시나리오를 간략하게 설명합니다. determineProperties 쿼리 매개 변수 또는 파일에 대한 정보를 수동으로 제공합니다.

determineProperties
queryParams
응답
True
N/A
If determineProperties 가 쿼리 매개 변수로 제공되면 파일 속성 검색이 발생하고 응답이 새 를 반환합니다 properties 파일 형식, 압축 형식 및 열 구분 기호에 대한 정보가 포함된 키.
N/A
True
파일 형식, 압축 형식 및 열 구분 기호 값이 의 일부로 수동으로 제공되는 경우 queryParams: 스키마를 생성하는 데 사용되며 응답의 일부로 동일한 속성이 반환됩니다.
True
True
두 옵션이 동시에 수행되면 오류가 반환됩니다.
N/A
N/A
두 옵션이 모두 제공되지 않으면 응답에 대한 속성을 가져올 수 없으므로 오류가 반환됩니다.

API 형식

GET /connectionSpecs/{CONNECTION_SPEC_ID}/explore?objectType=file&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&determineProperties=true
매개변수
설명
determineProperties
이 쿼리 매개 변수는 Flow Service 파일 유형, 압축 유형 및 열 구분 기호에 대한 정보를 포함하여 파일의 속성과 관련된 정보를 감지하는 API입니다.
true

요청

curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs/26f526f2-58f4-4712-961d-e41bf1ccc0e8/explore?objectType=file&object=dlz-user-container/garageWeek/file1&preview=true&determineProperties=true' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

응답

성공한 응답은 파일 이름 및 데이터 형식을 포함한 쿼리된 파일의 구조와 properties 키, 다음에 대한 정보 포함 fileType, compressionType, 및 columnDelimiter.

여기 클릭
code language-json
{
    "properties": {
        "fileType": "delimited",
        "compressionType": "tarGzip",
        "columnDelimiter": "~"
    },
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "id",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "firstName",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "lastName",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "email",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "birthday",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            }
        ]
    },
    "data": [
        {
            "birthday": "1313-0505-19731973",
            "firstName": "Yvonne",
            "lastName": "Thilda",
            "id": "100",
            "email": "Yvonne.Thilda@yopmail.com"
        },
        {
            "birthday": "1515-1212-19731973",
            "firstName": "Mary",
            "lastName": "Pillsbury",
            "id": "101",
            "email": "Mary.Pillsbury@yopmail.com"
        },
        {
            "birthday": "0505-1010-19751975",
            "firstName": "Corene",
            "lastName": "Joeann",
            "id": "102",
            "email": "Corene.Joeann@yopmail.com"
        },
        {
            "birthday": "2727-0303-19901990",
            "firstName": "Dari",
            "lastName": "Greenwald",
            "id": "103",
            "email": "Dari.Greenwald@yopmail.com"
        },
        {
            "birthday": "1717-0404-19651965",
            "firstName": "Lucy",
            "lastName": "Magdalen",
            "id": "199",
            "email": "Lucy.Magdalen@yopmail.com"
        }
    ]
}
속성
설명
properties.fileType
쿼리된 파일의 해당 파일 유형입니다. 지원되는 파일 유형은 다음과 같습니다. delimited, json, 및 parquet.
properties.compressionType

쿼리된 파일에 사용된 해당 압축 유형입니다. 지원되는 압축 유형은 다음과 같습니다.

  • bzip2
  • gzip
  • zipDeflate
  • tarGzip
  • tar
properties.columnDelimiter
쿼리된 파일에 사용된 해당 열 구분 기호입니다. 모든 단일 문자 값은 허용되는 열 구분 기호입니다. 기본값은 쉼표입니다 (,).

소스 연결 만들기

소스 연결은 데이터가 수집되는 외부 소스와의 연결을 만들고 관리합니다. 소스 연결은 데이터 소스, 데이터 형식 및 데이터 흐름을 만드는 데 필요한 소스 연결 ID와 같은 정보로 구성됩니다. 소스 연결 인스턴스는 테넌트 및 조직에만 해당됩니다.

POST 소스 연결을 만들려면 /sourceConnections 의 엔드포인트 Flow Service API.

API 형식

POST /sourceConnections

요청

curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "Data Landing Zone source connection",
        "data": {
            "format": "delimited"
        },
        "params": {
            "path": "dlz-user-container/data8.csv"
        },
        "connectionSpec": {
            "id": "26f526f2-58f4-4712-961d-e41bf1ccc0e8",
            "version": "1.0"
        }
    }'
속성
설명
name
의 이름 Data Landing Zone 소스 연결.
data.format
플랫폼으로 가져올 데이터의 형식입니다.
params.path
플랫폼으로 가져올 파일의 경로입니다.
connectionSpec.id
에 해당하는 연결 사양 ID Data Landing Zone. 이 고정 ID: 26f526f2-58f4-4712-961d-e41bf1ccc0e8.

응답

성공적인 응답은 고유 식별자()를 반환합니다.id)을 참조하십시오. 데이터 흐름을 만들려면 다음 자습서에서 이 ID가 필요합니다.

{
    "id": "f5b46949-8c8d-4613-80cc-52c9c039e8b9",
    "etag": "\"1400d460-0000-0200-0000-613be3520000\""
}

다음 단계

이 자습서를 따라 Data Landing Zone 자격 증명을 탐색하고, 파일 구조를 탐색하여 플랫폼에 가져올 파일을 찾은 다음 소스 연결을 만들어 데이터를 플랫폼에 가져오기 시작했습니다. 이제 다음 자습서로 이동하여 다음 방법을 배울 수 있습니다 다음을 사용하여 클라우드 스토리지 데이터를 플랫폼으로 가져오는 데이터 흐름을 만듭니다. Flow Service API.

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089