판매자 제공 데이터 피드 서비스 - AWS Marketplace

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

판매자 제공 데이터 피드 서비스

AWS Marketplace는 판매자 소유의 비즈니스 인텔리전스 도구 간 추출, 변환, 로드(ETL)를 위한 구조화된 최신 제품 및 고객 정보를 전송하는 메커니즘으로써 AWS Marketplace 시스템에서 판매자 Amazon S3 버킷으로 데이터 피드를 제공합니다.

트랜잭션 데이터는 양방향 시간 구조로 전달 및 추가되므로 판매자는 두 타임라인 및 두 타임라인의 타임스탬프와 함께 데이터를 저장하고 쿼리할 수 있습니다.

  • 유효 시간: 실제 세계에서 사실이 발생한 시간(“알게 된 정보”)

  • 시스템 시간: 해당 사실이 데이터베이스에 기록된 시간(“알게 된 시간”).

데이터 피드는 전날 24시간 분량의 데이터가 포함된 전날의 업데이트 이후 매일 오후 4시 PST(자정 UTC)에 전송됩니다. 구독하는 고객, 인보이스를 받는 고객 또는 요금을 결제하는 AWS를 기준으로 업데이트를 정의할 수 있습니다.

이 단원에서는 데이터 피드의 개요와 데이터 피드를 액세스하고 사용하는 방법을 설명합니다. 후속 단원에서는 각 데이터 피드에 대해 설명합니다.

데이터 피드의 저장 및 구조

데이터 피드는 쉼표로 구분된 값(CSV) 파일을 수집하여 사용자가 제공하는 암호화된 Amazon S3 버킷에 전송합니다. 이러한 CSV 파일은 다음과 같은 특성을 갖습니다.

  • 4180 표준을 따릅니다.

  • 문자 인코딩이 BOM을 사용하지 않는 UTF-8입니다.

  • 값 사이의 구분 기호로 쉼표가 사용됩니다.

  • 필드는 큰따옴표로 이스케이프됩니다.

  • \n은 줄 바꿈 문자입니다.

  • 날짜는 UTC 표준 시간대로 보고되고 ISO 8601 날짜 및 시간 형식이며 1초 이내의 오차로 정확합니다.

  • 모든 *_period_start_date*_period_end_date 값은 경계 값을 포함합니다. 따라서 모든 날짜에 가능한 마지막 타임스탬프는 23:59:59입니다.

  • 모든 금액 필드 앞에는 통화 필드가 있습니다.

  • 금액 필드는 마침표(.) 문자를 소수 구분 기호로 사용하며 쉼표(,)를 천 단위 구분 기호로 사용하지 않습니다.

데이터 피드는 다음과 같이 생성되고 저장됩니다.

  • 데이터 피드는 하루 내에 생성되며 전날의 24시간 데이터를 포함합니다.

  • Amazon S3 버킷에서 데이터 피드는 다음 형식을 사용하여 월 단위로 구성됩니다.

    bucket-name/data-feed-name_version/year=YYYY/month=MM/data.csv

  • 각 일일 데이터 피드가 생성되면 해당 월의 기존 CSV 파일에 추가됩니다. 새 달이 시작되면 각 데이터 피드에 대해 새 CSV 파일이 생성됩니다.

  • 데이터 피드의 정보는 2010년 1월 1일~2020년 4월 30일(포함)의 데이터로 다시 채워지며 year=2010/month=01 하위 폴더의 CSV 파일에 있습니다.

    해당 데이터 피드의 이번 달 파일에 열 머리글만 있고 데이터가 없는 상황이 있을 수 있습니다. 이는 이번 달에 해당 피드의 새로운 항목이 없음을 의미합니다. 이 문제는 제품 피드와 같이 자주 업데이트되지 않는 데이터 피드에서 발생할 수 있습니다. 이러한 경우 백필된 폴더에서 데이터를 사용할 수 있습니다.

  • Amazon S3에서는 Amazon S3 수명 주기 정책을 생성하여 버킷에 파일을 보관하는 기간을 관리할 수 있습니다.

  • 암호화된 S3 버킷으로 데이터가 전송될 때 알림을 받도록 Amazon SNS를 구성할 수 있습니다. 알림 구성 방법에 대한 내용은 Amazon Simple Notification Service 개발자 안내서Amazon SNS 시작하기 섹션을 참조하세요.

데이터에 대한 기록

각 데이터 피드에는 데이터에 대한 기록을 문서화하는 열이 포함됩니다. valid_to를 제외하고 이러한 열은 모든 데이터 피드에 공통적입니다. 공통 기록 스키마로 포함되며, 데이터 쿼리에 유용합니다.

열 이름 설명
valid_from 기본 키의 값이 다른 필드의 값과 관련하여 유효한 첫 번째 날짜입니다.
valid_to 이 열은 주소 데이터 피드에만 표시되며 항상 비어 있습니다.
insert_date 레코드가 데이터 피드에 삽입된 날짜입니다.
update_date 레코드가 마지막으로 업데이트된 날짜입니다.
delete_date 이 열은 항상 비어 있습니다.

다음은 이러한 열의 예입니다.

valid_from valid_to insert_date update_date delete_date
2018-12-12T02:00:00Z 2018-12-12T02:00:00Z 2018-12-12T02:00:00Z
2019-03-29T03:00:00Z 2019-03-29T03:00:00Z 2019-03-29T03:00:00Z
2019-03-29T03:00:00Z 2019-03-29T03:00:00Z 2019-04-28T03:00:00Z

valid_from 필드와 update_date 필드는 함께 양방향 시간 데이터 모델을 구성합니다. valid_from 필드는 그 이름처럼 항목이 언제부터 유효한지 알려줍니다. 항목이 편집된 경우 피드에 여러 레코드가 있을 수 있으며, 각 레코드의 update_date는 다르지만 valid_from 날짜는 같습니다. 예를 들어 항목의 현재 값을 찾으려면 valid_from 날짜가 가장 최근인 레코드 목록에서 update_date가 가장 최근인 레코드를 찾으면 됩니다.

위 예제의 레코드는 2018년 12월 12에 처음으로 생성되었습니다. 그리고 2019년 3월 29에 변경되었습니다(예: 레코드의 주소 변경). 그 후 2019년 4월 28일에 주소 변경이 수정되었습니다. 따라서 valid_from은 변경되지 않았지만 update_date는 변경되었습니다. 주소를 수정하면(드문 경우지만) 원래 valid_from 날짜의 레코드를 소급하여 변경하므로, 해당 필드는 변경되지 않았습니다. 가장 최근 valid_from을 찾는 쿼리는 2개 레코드를 반환하는데, update_date가 가장 최근인 레코드는 실제 현재 레코드를 제공합니다.

데이터 피드 액세스

데이터 피드에 액세스하려면 암호화된 Amazon S3 버킷에 데이터 피드를 수신하도록 환경을 구성해야 합니다. AWS Marketplace는 구성을 간소화할 수 있도록 AWS CloudFormation 템플릿을 제공합니다.

AWS CloudFormation 템플릿을 사용하여 데이터 피드를 수신하도록 환경을 구성하려면
  1. 웹 브라우저를 열고 AWS Marketplace Management Portal에 로그인한 다음, 고객 데이터 스토리지 설정으로 이동합니다.

  2. AWS CloudFormation 콘솔에서 AWS CloudFormation 템플릿으로 리소스 생성을 선택하여 다른 창에서 템플릿을 엽니다.

  3. 템플릿에서 다음 필드를 지정하고 다음을 선택합니다.

    • 스택 이름 - 데이터 피드에 액세스할 수 있도록 생성하는 리소스 컬렉션입니다.

    • Amazon S3 버킷 이름 - 데이터 피드를 저장할 버킷입니다.

    • (선택 사항) Amazon SNS 주제 이름 - AWS가 Amazon S3 버킷에 새 데이터를 전송할 때 알림을 수신할 주제입니다.

  4. 검토 페이지에서 지정한 사항을 확인하고 스택 생성을 선택합니다. 그러면 CloudFormation 상태 및 세부 정보를 제공하는 새 페이지가 열립니다.

  5. 리소스 탭에서 CloudFormation 페이지의 다음 리소스에 대한 Amazon 리소스 이름(ARN)을 AWS Marketplace 고객 데이터 스토리지 설정 페이지의 해당 필드에 복사합니다.

    • 데이터 피드를 저장할 Amazon S3 버킷

    • Amazon S3 버킷을 암호화할 AWS KMS 키

    • (선택 사항) AWS가 Amazon S3 버킷에 새 데이터를 전송할 때 알림을 수신할 Amazon SNS 주제

  6. 고객 데이터 스토리지 설정 페이지에서 제출을 선택합니다.

  7. (선택 사항) CloudFormation 템플릿으로 생성한 정책을 편집합니다. 자세한 내용은 데이터 피드 정책 단원을 참조하십시오.

이제 데이터 피드를 구독했습니다. 다음에 데이터 피드가 생성되면 해당 데이터에 액세스할 수 있습니다.

AWS CloudFormation 템플릿에 대한 자세한 내용은 AWS CloudFormation사용 설명서AWS CloudFormation 템플릿 작업을 참조하세요.

데이터 피드 정책

CloudFormation 템플릿으로 Amazon S3 버킷을 생성하면 해당 버킷에 연결된 액세스, AWS KMS 키 및 Amazon SNS 주제에 대한 정책이 생성됩니다. 이 정책은 AWS Marketplace 보고서 서비스가 버킷과 SNS 주제에 데이터 피드 정보를 쓸 수 있도록 허용합니다. 각 정책에는 다음과 같은 섹션이 있습니다. 이 예제는 Amazon S3 버킷에서 가져온 것입니다.

{ "Sid": "AwsMarketplaceDataFeedsAccess", "Effect": "Allow", "Principal": { "Service": "reports.marketplace.amazonaws.com" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetEncryptionConfiguration", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::datafeed-bucket", "arn:aws:s3:::datafeed-bucket/*" ] },

이 정책에서 reports.marketplace.amazonaws.com은 AWS Marketplace가 Amazon S3 버킷으로 데이터를 푸시하는 데 사용하는 서비스 보안 주체입니다. datafeed-bucket은 CloudFormation 템플릿에서 지정한 버킷입니다.

AWS Marketplace 보고서 서비스는 Amazon S3, AWS KMS 또는 Amazon SNS를 호출할 때, 버킷에 쓰려는 데이터의 ARN을 제공합니다. 버킷에 기록된 데이터만 사용자를 대신하여 기록되게 하려면 정책 조건에서 aws:SourceArn을 지정하면 됩니다. 다음 예제에서는 account-id를 해당 AWS 계정의 ID로 바꿔야 합니다.

{ "Sid": "AwsMarketplaceDataFeedsAccess", "Effect": "Allow", "Principal": { "Service": "reports.marketplace.amazonaws.com" }, "Action": [ "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:GetEncryptionConfiguration", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::datafeed-test-bucket", "arn:aws:s3:::datafeed-test-bucket/*" , "Condition": { "StringEquals": { "aws:SourceAccount": "account-id", "aws:SourceArn": ["arn:aws:marketplace::account-id:AWSMarketplace/SellerDataSubscription/DataFeeds_V1", "arn:aws:marketplace::account-id:AWSMarketplace/SellerDataSubscription/Example-Report"] } } },

데이터 피드 구독 취소

웹 브라우저를 열고 AWS Marketplace Management Portal에 로그인합니다. AWS에 문의 페이지로 이동하여 AWS Marketplace 판매자 운영 팀에 구독 취소 요청을 제출합니다. 구독 취소 요청을 처리하는 데 최대 10일이 걸릴 수 있습니다.

데이터 피드 사용

Amazon S3 버킷에 데이터가 있으면 다음과 같은 방법으로 데이터 피드를 사용할 수 있습니다.

  • 데이터 피드 액세스에서 생성한 Amazon S3 버킷에서 .CSV 파일을 다운로드하여 스프레드시트에서 데이터를 봅니다.

  • ETL(추출, 변환 및 로드), SQL 쿼리 및 비즈니스 분석 도구를 사용하여 데이터를 수집하고 분석합니다.

    데이터를 수집하고 분석하는 AWS 서비스를 사용하거나 .CSV 기반 데이터 세트에 대한 분석을 수행하는 서드 파티 도구를 사용할 수 있습니다.

예: AWS 서비스를 사용하여 데이터 수집 및 분석

다음 절차에서는 Amazon S3 버킷에 데이터 피드를 수신하도록 환경을 이미 구성했으며 버킷에 데이터 피드가 포함되어 있다고 가정합니다.

데이터 피드에서 데이터를 수집하고 분석하려면
  1. AWS Glue 콘솔에서 크롤러를 생성하여 데이터 피드를 저장하는 Amazon S3 버킷에 연결하고, 원하는 데이터를 추출하고, AWS Glue Data Catalog에서 메타데이터 테이블을 생성합니다.

    AWS Glue에 대한 자세한 내용은 AWS Glue개발자 안내서 단원을 참조하세요.

  2. Athena 콘솔에서 AWS Glue Data Catalog의 데이터에 대해 SQL 쿼리를 실행합니다.

    Athena에 대한 자세한 내용은 Amazon Athena 사용 설명서를 참조하세요.

  3. Amazon QuickSight 콘솔에서 분석을 생성한 다음, 데이터를 시각화합니다.

    Amazon QuickSight에 대한 자세한 내용은 Amazon QuickSight 사용 설명서를 참조하세요.

AWS 서비스를 사용하여 데이터 피드의 데이터를 수집하고 분석하는 한 가지 방법에 대한 자세한 예제는 AWS Marketplace 블로그에서 판매자 데이터 피드 전송 서비스, Amazon Athena 및 Amazon QuickSight를 사용하여 판매자 보고서 생성을 참조하세요.