오프라인 저장소로

데이터 피드를 사용하면 엔드 투 엔드 정렬에서 식당, 서비스 및 메뉴를 제공할 수 있습니다.

이 문서에서는 샌드박스 및 프로덕션 인벤토리를 호스팅하고 일괄 수집을 사용하여 엔드 투 엔드 정렬에서 인벤토리를 업데이트하는 방법을 설명합니다.

데이터 피드 환경

통합 개발에 사용할 수 있는 데이터 피드 환경에는 세 가지가 있습니다.

피드 환경 설명 오프라인 저장소로
샌드박스 피드 개발을 위한 테스트 환경입니다. 필수
프로덕션 실행하려는 인벤토리의 프로덕션 환경입니다. 필수

호스팅 데이터 피드

엔드 투 엔드 정렬에서 일괄 처리로 샌드박스 및 프로덕션 데이터 피드를 처리하려면 사이트맵을 사용하여 Google Cloud Storage, Amazon S3 또는 HTTPS에서 데이터 피드 파일을 호스팅해야 합니다.

샌드박스 환경과 프로덕션 환경의 데이터 피드를 별도로 호스팅하는 것이 좋습니다. 이 방법을 사용하면 변경사항을 프로덕션에 배포하기 전에 샌드박스 피드 환경에서 개발 및 테스트를 수행할 수 있습니다.

예를 들어 Google Cloud Storage를 호스팅 옵션으로 사용하는 경우 다음과 같은 경로를 사용합니다.

  • 샌드박스 피드: gs://foorestaurant-google-feed-sandbox/
  • 프로덕션 피드: gs://foorestaurant-google-feed-prod/

인벤토리를 호스팅하려면 다음 단계를 따르세요.

  1. 데이터 피드 파일을 생성합니다.
  2. 호스팅 솔루션을 선택합니다.
  3. 데이터 피드를 호스팅합니다.
  4. 데이터 피드 파일이 정기적으로 업데이트되는지 확인합니다. 프로덕션 데이터 피드는 매일 업데이트해야 합니다.

인벤토리 피드를 만드는 방법에 관한 자세한 내용은 Restaurant, Service, Menu 항목 및 데이터 피드 만들기 섹션에 관한 문서를 참고하세요.

데이터 피드 파일 가이드라인

여러 항목을 포함할 수 있는 각 파일은 200MB를 초과할 수 없습니다. 최상위 항목 Restaurant, Service, Menu는 하위 항목과 함께 모두 4MB를 초과해서는 안 됩니다.

호스팅 솔루션 선택

다음 표에는 데이터 피드를 호스팅하는 옵션과 이러한 호스트가 엔드 투 엔드 주문에서 작동하는 방식이 나와 있습니다.

Amazon S3 Google Cloud Storage 사이트맵이 있는 HTTPS
사용자 인증 정보 및 액세스

Google에 다음 정보를 제공하세요.

  • 액세스 키 ID
  • 보안 비밀 액세스 키
  • 프로덕션 및 샌드박스 S3 디렉터리와 marker.txt 파일의 경로입니다. 경로는 s3://로 시작해야 합니다.

S3 버킷에는 다음 정보가 포함되어야 합니다.

  • 인벤토리의 피드 파일
  • marker.txt: 가져오기에 사용되는 타임스탬프가 포함됩니다.

marker.txt 파일의 예: 2018-12-03T08:30:42.694Z

Google에 프로덕션 및 샌드박스 버킷 디렉터리와 marker.txt 파일의 경로를 제공합니다. 경로는 gs://로 시작해야 합니다.

Google 컨설턴트가 제공한 서비스 계정을 Google Cloud Storage 버킷의 리더로 추가합니다.

Google Cloud Storage (GCS)의 액세스를 제어하는 방법에 대한 자세한 내용은 Google Cloud Platform 콘솔: 버킷 권한 설정을 참조하세요.

GCS 버킷에는 다음 정보가 포함되어야 합니다.

  • 인벤토리의 피드 파일
  • marker.txt: 가져오기에 사용되는 타임스탬프가 포함됩니다.

marker.txt 파일의 예: 2018-12-03T08:30:42.694Z

Google에 다음 정보를 제공하세요.

  • 기본 인증에 대한 사용자 인증 정보입니다.
  • 프로덕션 및 샌드박스 사이트맵 경로의 경로입니다. 경로는 https://로 시작해야 합니다.
  • 프로토콜: 피드 파일은 HTTP가 아닌 HTTPS를 통해 제공해야 합니다.
  • 보안: 기본 인증을 사용하여 호스팅된 피드 파일을 보호하는 것이 좋습니다.
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로 데이터 피드를 호스팅하는 경우

  1. 작업 센터에서 구성 > 피드로 이동합니다.
  2. 수정을 클릭하고 피드 업데이트 양식을 작성합니다.

    • 피드 전송 방법: Amazon S3로 설정합니다.
    • 마커 파일: marker.txt 파일의 URL을 제공합니다.
    • 데이터 파일: 데이터 피드가 포함된 S3 버킷의 URL을 입력합니다.
    • 액세스 ID: S3 리소스에서 읽을 권한이 있는 IAM 액세스 키 ID를 입력합니다.
    • Access Key: S3 리소스에서 읽을 권한이 있는 IAM 보안 비밀 액세스 키를 입력합니다.
  3. 제출을 클릭합니다.
  4. 1~2시간 후에 일괄 처리를 통해 피드 파일을 가져오는지 확인합니다.

Google Cloud Storage로 데이터 피드를 호스팅하는 경우

  1. 작업 센터에서 구성 > 피드로 이동합니다.
  2. 수정을 클릭하고 피드 업데이트 양식을 작성합니다.

    • 피드 전송 방법: Google Cloud Storage로 설정합니다.
    • 마커 파일: marker.txt 파일의 URL을 제공합니다.
    • 데이터 파일: 데이터 피드가 포함된 GCS 버킷의 URL을 입력합니다.
  3. 제출을 클릭합니다.
  4. GCS 버킷에 액세스하기 위해 서비스 계정이 생성됩니다. 계정 이름은 온보딩 작업이 완료된 후 구성 > 피드에서 확인할 수 있습니다. 이 서비스 계정에는 '스토리지 기존 객체 리더' 역할이 필요합니다. 이 역할은 Google Cloud 콘솔의 IAM 페이지에서 서비스 계정에 부여할 수 있습니다.
  5. 1~2시간 후에 일괄 처리를 통해 피드 파일을 가져오는지 확인합니다.

HTTPS를 사용하여 데이터 피드를 호스팅하는 경우

  1. 작업 센터에서 구성 > 피드로 이동합니다.
  2. 수정을 클릭하고 피드 업데이트 양식을 작성합니다.

    • 피드 전송 방법: HTTPS로 설정합니다.
    • 사이트맵 파일: sitemap.xml 파일의 URL을 제공합니다.
    • 사용자 이름: HTTPS 서버에 액세스할 사용자 이름을 입력합니다.
    • 비밀번호: HTTPS 서버에 액세스하기 위한 비밀번호를 입력합니다.
  3. 제출을 클릭합니다.
  4. 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이 비활성 파일을 가져올 수 있습니다.