데이터 피드를 사용하면 엔드 투 엔드 정렬에서 식당, 서비스 및 메뉴를 제공할 수 있습니다.
이 문서에서는 샌드박스 및 프로덕션 인벤토리를 호스팅하고 일괄 수집을 사용하여 엔드 투 엔드 정렬에서 인벤토리를 업데이트하는 방법을 설명합니다.
데이터 피드 환경
통합 개발에 사용할 수 있는 데이터 피드 환경에는 세 가지가 있습니다.
피드 환경 | 설명 | 오프라인 저장소로 |
---|---|---|
샌드박스 | 피드 개발을 위한 테스트 환경입니다. | 필수 |
프로덕션 | 실행하려는 인벤토리의 프로덕션 환경입니다. | 필수 |
호스팅 데이터 피드
엔드 투 엔드 정렬에서 일괄 처리로 샌드박스 및 프로덕션 데이터 피드를 처리하려면 사이트맵을 사용하여 Google Cloud Storage, Amazon S3 또는 HTTPS에서 데이터 피드 파일을 호스팅해야 합니다.
샌드박스 환경과 프로덕션 환경의 데이터 피드를 별도로 호스팅하는 것이 좋습니다. 이 방법을 사용하면 변경사항을 프로덕션에 배포하기 전에 샌드박스 피드 환경에서 개발 및 테스트를 수행할 수 있습니다.
예를 들어 Google Cloud Storage를 호스팅 옵션으로 사용하는 경우 다음과 같은 경로를 사용합니다.
- 샌드박스 피드:
gs://foorestaurant-google-feed-sandbox/
- 프로덕션 피드:
gs://foorestaurant-google-feed-prod/
인벤토리를 호스팅하려면 다음 단계를 따르세요.
- 데이터 피드 파일을 생성합니다.
- 호스팅 솔루션을 선택합니다.
- 데이터 피드를 호스팅합니다.
- 데이터 피드 파일이 정기적으로 업데이트되는지 확인합니다. 프로덕션 데이터 피드는 매일 업데이트해야 합니다.
인벤토리 피드를 만드는 방법에 관한 자세한 내용은 Restaurant
, Service
, Menu
항목 및 데이터 피드 만들기 섹션에 관한 문서를 참고하세요.
데이터 피드 파일 가이드라인
여러 항목을 포함할 수 있는 각 파일은 200MB를 초과할 수 없습니다. 최상위 항목 Restaurant
, Service
, Menu
는 하위 항목과 함께 모두 4MB를 초과해서는 안 됩니다.
호스팅 솔루션 선택
다음 표에는 데이터 피드를 호스팅하는 옵션과 이러한 호스트가 엔드 투 엔드 주문에서 작동하는 방식이 나와 있습니다.
Amazon S3 | Google Cloud Storage | 사이트맵이 있는 HTTPS | |
---|---|---|---|
사용자 인증 정보 및 액세스 |
Google에 다음 정보를 제공하세요.
S3 버킷에는 다음 정보가 포함되어야 합니다.
|
Google에 프로덕션 및 샌드박스 버킷 디렉터리와 Google 컨설턴트가 제공한 서비스 계정을 Google Cloud Storage 버킷의 리더로 추가합니다. Google Cloud Storage (GCS)의 액세스를 제어하는 방법에 대한 자세한 내용은 Google Cloud Platform 콘솔: 버킷 권한 설정을 참조하세요. GCS 버킷에는 다음 정보가 포함되어야 합니다.
|
Google에 다음 정보를 제공하세요.
|
Google이 가져와야 하는 파일을 파악하는 방법 | 버킷에 있는 모든 파일의 디렉터리 목록입니다. | 버킷에 있는 모든 파일의 디렉터리 목록입니다. | 사이트맵에 나열된 파일의 개별 URL입니다. |
Google에서 파일을 가져올 준비가 되었는지 확인하는 방법 | 데이터 피드 생성을 완료한 후 최신 타임스탬프로 marker.txt 파일을 업데이트합니다. |
데이터 피드 생성을 완료한 후 최신 타임스탬프로 marker.txt 파일을 업데이트합니다. |
데이터 피드 생성이 완료되면 sitemap.xml 의 응답 헤더 last-modified 를 최신 타임스탬프로 업데이트합니다. |
파일 한도 |
최대 파일 수는 100,000개입니다. Amazon S3 버킷의 총 파일 수가 100,000개 미만이어야 합니다. |
최대 파일 수는 100,000개입니다. Google Cloud Storage 버킷의 총 파일 수가 100,000개 미만이어야 합니다. |
최대 파일 수는 100,000개입니다. 사이트맵 XML 파일 내의 파일 경로 수는 100,000개 미만이어야 합니다. |
일괄 수집을 위한 데이터 피드 연결
피드를 호스팅한 후 작업 센터에서 피드를 프로젝트에 연결해야 합니다. 프로덕션 피드의 초기 구성은 온보딩 작업 페이지에서 완료됩니다. 나중에 관리 역할이 있는 포털 사용자가 구성 > 피드 페이지에서 언제든지 프로덕션 및 샌드박스 피드 구성을 업데이트할 수 있습니다. 샌드박스 환경은 개발 및 테스트 목적으로 사용되며 프로덕션 피드는 사용자에게 표시됩니다.
Amazon S3로 데이터 피드를 호스팅하는 경우
- 작업 센터에서 구성 > 피드로 이동합니다.
-
수정을 클릭하고 피드 업데이트 양식을 작성합니다.
- 피드 전송 방법: Amazon S3로 설정합니다.
- 마커 파일:
marker.txt
파일의 URL을 제공합니다. - 데이터 파일: 데이터 피드가 포함된 S3 버킷의 URL을 입력합니다.
- 액세스 ID: S3 리소스에서 읽을 권한이 있는 IAM 액세스 키 ID를 입력합니다.
- Access Key: S3 리소스에서 읽을 권한이 있는 IAM 보안 비밀 액세스 키를 입력합니다.
- 제출을 클릭합니다.
- 1~2시간 후에 일괄 처리를 통해 피드 파일을 가져오는지 확인합니다.
Google Cloud Storage로 데이터 피드를 호스팅하는 경우
- 작업 센터에서 구성 > 피드로 이동합니다.
-
수정을 클릭하고 피드 업데이트 양식을 작성합니다.
- 피드 전송 방법: Google Cloud Storage로 설정합니다.
- 마커 파일:
marker.txt
파일의 URL을 제공합니다. - 데이터 파일: 데이터 피드가 포함된 GCS 버킷의 URL을 입력합니다.
- 제출을 클릭합니다.
- GCS 버킷에 액세스하기 위해 서비스 계정이 생성됩니다. 계정 이름은 온보딩 작업이 완료된 후 구성 > 피드에서 확인할 수 있습니다. 이 서비스 계정에는 '스토리지 기존 객체 리더' 역할이 필요합니다. 이 역할은 Google Cloud 콘솔의 IAM 페이지에서 서비스 계정에 부여할 수 있습니다.
- 1~2시간 후에 일괄 처리를 통해 피드 파일을 가져오는지 확인합니다.
HTTPS를 사용하여 데이터 피드를 호스팅하는 경우
- 작업 센터에서 구성 > 피드로 이동합니다.
-
수정을 클릭하고 피드 업데이트 양식을 작성합니다.
- 피드 전송 방법: HTTPS로 설정합니다.
- 사이트맵 파일:
sitemap.xml
파일의 URL을 제공합니다. - 사용자 이름: HTTPS 서버에 액세스할 사용자 이름을 입력합니다.
- 비밀번호: HTTPS 서버에 액세스하기 위한 비밀번호를 입력합니다.
- 제출을 클릭합니다.
- 1~2시간 후에 일괄 처리를 통해 피드 파일을 가져오는지 확인합니다.
경로 예시
다음 표에는 각 호스팅 옵션의 예시 경로가 나와 있습니다.
Amazon S3 | Google Cloud Storage | 사이트맵이 있는 HTTPS | |
---|---|---|---|
경로 | s3://foorestaurant-google-feed-sandbox/ |
gs://foorestaurant-google-feed-sandbox/ |
https://sandbox-foorestaurant.com/sitemap.xml |
마커 파일 | s3://foorestaurant-google-feed-sandbox/marker.txt |
gs://foorestaurant-google-feed-sandbox/marker.txt |
해당 없음 |
HTTPS 호스팅용 사이트맵
사이트맵을 정의할 때 다음 가이드라인을 따르세요.
- 사이트맵의 링크는 파일 자체를 가리켜야 합니다.
- 사이트맵에 자체 도메인 이름 대신 클라우드 제공업체 참조가 포함되어 있으면 URL 시작 부분(예:
https://www.yourcloudprovider.com/your_id
)이 안정적이고 일괄 작업에 고유한지 확인합니다. - 부분적인 데이터 업로드 등 일부 사이트맵은 업로드하지 않도록 주의하세요. 이렇게 하면 Google에서 사이트맵의 파일만 처리하므로 인벤토리 수준이 낮아지고 피드 처리가 차단될 수 있습니다.
- 사이트맵에서 참조된 파일의 경로가 변경되지 않았는지 확인합니다. 예를 들어 지금은 사이트맵이
https://www.yourcloudprovider.com/your_id/10000.json
를 참조하지 않고 내일https://www.yourcloudprovider.com/your_id/20000.json
를 참조하도록 하세요.
사이트맵의 예
다음은 데이터 피드 파일을 제공하는 sitemap.xml
파일의 예입니다.
예 1: 판매자별로 그룹화된 항목 (권장)
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
예시 2: 유형별로 그룹화된 항목
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/menu.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/service.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
데이터 피드 업데이트
데이터 피드가 연결되면 Google은 매시간 업데이트를 확인하지만 marker.txt
또는 sitemap.xml
파일이 수정된 경우에만 모든 데이터 피드를 수집합니다. 오래된 인벤토리를 방지하기 위해 하루에 한 번 데이터 피드를 업데이트하는 것이 좋습니다.
데이터 피드가 수정되었고 일괄 수집할 준비가 되었음을 지정하려면 marker.txt
파일 (GCP 및 S3용)의 last-modified
객체 메타데이터 필드 또는 sitemap.xml
파일의 last-modified
응답 헤더를 업데이트하세요. Google은
이 값을 사용하여 데이터 피드의 최신 상태를 확인합니다.
일괄 피드가 수집됨에 따라
- 현재 주문 엔드 투 엔드 인벤토리에 존재하지 않고 오류가 없는 새 항목이 삽입됩니다.
-
인벤토리에 이미 존재하는 항목 중에서 처리 오류가 없고
dateModified
이 현재 항목보다 최근이거나dateModified
가 없는 경우 피드 처리 시작 시간이 업데이트되는 현재 항목보다 최근입니다. 그렇지 않으면 오래된 것으로 표시됩니다. - 이전 피드에 포함되었지만 처리 중인 일괄 피드에 더 이상 포함되지 않는 항목은 피드에 파일 수준 오류가 없는 경우 삭제됩니다.
타임스탬프 또는 last-modified
응답 헤더는 모든 데이터 피드 파일이 생성되고 업데이트된 후에만 업데이트해야 합니다. 데이터 피드를 업데이트하는 일괄 작업이 하루에 한 번만 실행되도록 제한합니다. 또는 각 일괄 작업 사이에 3시간 이상의 간격을 두세요. 이 단계를 수행하지 않으면 Google이 비활성 파일을 가져올 수 있습니다.