

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

# AWS Marketplace 상거래 분석 서비스를 사용하여 제품 및 고객 데이터 액세스
<a name="commerce-analytics-service"></a>

상거래 분석 서비스를 사용하면 AWS Marketplace 를 통해 프로그래밍 방식으로 제품 및 고객 데이터에 액세스할 수 있습니다 AWS Marketplace. 서비스에 등록한 후 AWS SDKs. SDK 도구를 사용하여 요청한 데이터는 AWS 계정 에 데이터 세트로 제공됩니다. 대부분의 데이터 세트는 [AWS Marketplace Management Portal](https://aws.amazon.com/marketplace/management/tour)에서 사용할 수 있는 텍스트 기반 보고서와 동일한 형태의 데이터에 해당합니다. 특정 날짜에 대한 데이터 세트를 요청할 수 있으며 데이터는 제공된 Amazon S3 버킷으로 전달됩니다. Amazon Simple Notification Service(Amazon SNS)를 통해 데이터 제공 알림을 받습니다. 이 주제에서는 AWS Marketplace 상거래 분석 서비스 사용에 대한 이용 약관을 제공합니다.

다음 시각화는 Commerce Analytics Service가 AWS Marketplace 에서 제품 및 고객 데이터에 액세스하고 이를 데이터 세트로 Amazon S3 버킷에 전달하여 Amazon SNS를 통해 알림을 시작하는 방법을 보여줍니다.

 ![\[Commerce Analytics Service Overview.\]](http://docs.aws.amazon.com/ko_kr/marketplace/latest/userguide/images/commerce-analytics-service-overview.png) 

## 이용 약관
<a name="terms-and-conditions"></a>

이 AWS Marketplace 상거래 분석 서비스 이용 약관(이 '**CAS 약관**')에는 AWS Marketplace 상거래 분석 서비스('**CA** 서비스')의 사용 및 액세스와 관련된 이용 약관이 포함되어 있으며,이 이용 약관과 함께 제공된 '수락함' 버튼 또는 확인란을 클릭한 날짜 또는 이전에는 CA 서비스 제품을 사용할 때 유효합니다. 이 CAS 약관은 사용자와 Amazon Web Services, Inc. 간의 AWS Marketplace 판매자 약관(“**AWS Marketplace 판매자 약관**”)에 대한 부록입니다. ('**AWS**', '**저**희', '**저희**' 또는 '**저**희')이며, 그 약관은 여기에 통합되어 있습니다. 본 CAS 약관과 AWS Marketplace 판매자 약관이 상충되는 경우 본 CAS 약관의 조건이 적용되지만 그렇게 상충되는 범위에만 그리고 CA 서비스 사용과 관련하여 전적으로 적용됩니다. 여기에 사용되었지만 정의되지 않은 대문자 용어는 AWS Marketplace 판매자 약관에 명시된 의미를 갖습니다.

1.  **CA 서비스 및 CAS 데이터.** CA 서비스에 액세스할 수 있는 자격을 갖추려면 기존 AWS Marketplace 판매자 약관의 적용을 받는 AWS Marketplace 판매자여야 합니다. CA 서비스와 관련하여 수신하거나 액세스할 수 있는 정보 및 데이터(“**CAS 데이터**”)는 구독자 정보를 구성하며 AWS Marketplace 판매자 약관에 명시된 제한 및 의무의 적용을 받습니다. (a) CAS 데이터를 제3자에게 공개하지 않는 한, 비공개로 CAS 데이터를 사용하여 AWS Marketplace 콘텐츠와 관련된 마케팅 및 기타 홍보 활동을 개선하고 대상으로 지정할 수 있습니다. (b) 관련 개인 정보 보호 정책 또는 법률과 일치하지 않는 방식으로 CAS 데이터를 사용하는 행위 (c) 구독자에게 연락하여 외부에서 대체 구매를 하도록 영향을 미칩니다 AWS Marketplace. (d) 당사를 비난합니다. 제휴사, 또는 해당 제품 또는 (e) 의도된 수신자가 AWS Marketplace 구독자임을 기반으로 모든 종류의 통신을 대상으로 합니다.

1.  **CA 서비스 제한 및 보안.** CA 서비스 문서에 설명된 방법으로만 CA 서비스를 액세스하거나 액세스를 시도할 수 있습니다. CA 서비스를 사용할 때 귀하의 자격 증명이나 클라이언트의 자격 증명을 허위 진술하거나 숨길 수 없습니다. 당사는 재량에 따라 일정 기간 동안 CA 서비스를 액세스하도록 허용된 호출 또는 서버 수를 포함하되 이에 국한되지 않고 CA 서비스 사용에 대한 제한을 설정하고 시행할 수 있는 권리를 보유합니다. 귀하는 그러한 제한에 동의하고 회피를 시도하지 않습니다. 당사는 귀하가 이러한 CAS 약관을 위반하거나 CA 서비스를 오용한다고 판단되는 경우 귀하의 CA 서비스 액세스 권한을 제한, 중지 또는 종료할 수 있습니다.

1.  **CA 서비스 자격 증명 비밀 유지 및 보안.** CA 서비스 자격 증명(예: 암호, 키 또는 클라이언트 ID)은 API 클라이언트를 식별할 목적으로 사용됩니다. 자격 증명의 기밀을 유지하는 것은 전적으로 귀하의 책임이며 유사한 성격의 기밀 정보를 보호하기 위해 취해진 조치를 포함하여 해당 자격 증명의 공개, 전파 또는 무단 사용을 피하기 위해 합당한 모든 조치가 취해집니다. CA 서비스 자격 증명은 오픈 소스 프로젝트에 포함되지 않을 수 있습니다. 자격 증명을 사용한 모든 CA 서비스 액세스는 전적으로 귀하의 책임입니다.

1.  **수정.** 당사는 AWS 사이트에 수정된 버전을 게시하거나 AWS Marketplace 판매자 약관에 따라 사용자에게 알림을 제공하여 언제든지 이러한 CAS 약관을 수정할 수 있습니다. 수정된 약관은 게시 또는 이메일 메시지에 명시된 대로 귀하에게 이메일로 통보하는 시점에서 효력을 발휘합니다. 본 CAS 약관을 수정한 효력일 이후에도 CA 서비스를 계속 사용하거나 액세스하면 수정된 약관을 준수할 것에 동의하는 것입니다.

1.  **해지.** 본 CAS 약관 및 여기에서 허용된 CAS 데이터 사용 권한은 어떠한 이유로 AWS Marketplace 판매자 약관이 해지되는 경우 통보 여부에 관계 없이 종료됩니다. 또한 언제든 이유에 관계 없이 당사는 CA 서비스 제공을 중지하거나 CA 서비스 액세스를 종료할 수 있습니다.

## 시작하기
<a name="commerce-analytics-service-getting-started"></a>

온보딩, 기술 구현 및 문제 해결 정보를 포함하여 AWS Marketplace 상거래 분석 서비스에 대한 자세한 내용은 다음 주제를 참조하세요.

**Topics**
+ [이용 약관](#terms-and-conditions)
+ [시작하기](#commerce-analytics-service-getting-started)
+ [AWS Marketplace 상거래 분석 서비스에 온보딩](on-boarding-guide.md)
+ [AWS CLI 및 AWS Marketplace 에서 상거래 분석 서비스 사용 AWS SDK for Java](technical-implementation-guide.md)
+ [AWS Marketplace Commerce Analytics Service를 사용하여 데이터세트 생성](technical-documentation.md)
+ [AWS Marketplace 상거래 분석 서비스 문제 해결](cas-troubleshooting.md)

# AWS Marketplace 상거래 분석 서비스에 온보딩
<a name="on-boarding-guide"></a>

 AWS Marketplace 상거래 분석 서비스를 사용하면를 통해 프로그래밍 방식으로 제품 및 고객 데이터에 액세스할 수 있습니다 AWS Marketplace. AWS Marketplace 상거래 분석 서비스를 시작하려면 상거래 분석 서비스를 AWS 서비스 사용하도록 AWS 계정 및 AWS Marketplace 를 구성해야 합니다. 이 섹션에서는 상거래 분석 서비스를 AWS 서비스 사용하도록 AWS 계정 및 AWS Marketplace 를 구성하는 방법을 보여줍니다.

**AWS Marketplace 상거래 분석 서비스를 사용하려면**
+ [1단계: 권한을 AWS 계정 사용하여 설정](#permissions-for-commerce-analytics)
+ [2단계: 대상 Amazon S3 버킷 만들기](#create-a-destination-amazon-s3-bucket)
+ [3단계: 응답 알림에 대한 Amazon SNS 주제 구성](#create-an-amazon-sns-topic-for-response-notifications)
+ [4단계: Commerce Analytics Service 프로그램 등록](#enroll-in-the-commerce-analytics-service-program)
+ [5단계: 구성 확인](#verify-your-configuration)

## 1단계: 권한을 AWS 계정 사용하여 설정
<a name="permissions-for-commerce-analytics"></a>

에서는 루트 계정 자격 증명을 사용하는 AWS Marketplace Management Portal 대신 AWS Identity and Access Management (IAM) 역할을 사용하여에 로그인할 것을AWS Marketplace **강력히** 권장합니다. AWS Marketplace 상거래 분석 서비스 권한의 특정 IAM 권한은 [AWS Marketplace 판매자를 위한 정책 및 권한](detailed-management-portal-permissions.md) 섹션을 참조하세요. 계정에 액세스하는 사용자에 대해 개별 사용자를 만들면 각 사용자에 따라 서로 다른 보안 자격 증명 조합을 부여할 수 있습니다. 또한 각 사용자에게 다양한 권한을 부여하고, 필요할 경우 언제든지 사용자의 권한을 변경 또는 취소할 수 있습니다.

## 2단계: 대상 Amazon S3 버킷 만들기
<a name="create-a-destination-amazon-s3-bucket"></a>

상거래 분석 서비스는 판매자가 요청한 데이터를 판매자가 지정한 Amazon S3 버킷에 제공합니다. 사용할 Amazon S3 버킷이 이미 있는 경우 다음 단계를 진행합니다.

Amazon S3 버킷이 없거나 이 데이터에 사용할 Amazon S3 버킷을 따로 생성하려면 [Amazon S3 버킷을 생성하려면 어떻게 해야 합니까?](https://docs.aws.amazon.com/AmazonS3/latest/UG/CreatingaBucket.html)를 참조하세요.

## 3단계: 응답 알림에 대한 Amazon SNS 주제 구성
<a name="create-an-amazon-sns-topic-for-response-notifications"></a>

상거래 분석 서비스는 Amazon SNS를 사용하여 응답 알림을 제공합니다. 서비스는 이 주제에 메시지를 게시하여 데이터 세트가 이용 가능하거나 오류가 발생할 때 알림을 보냅니다. 이 목적을 위한 Amazon SNS 주제가 이미 있는 경우 다음 단계를 진행합니다.

이 서비스에 대한 Amazon SNS 주제를 구성하지 않은 경우 지금 구성합니다. 지침은 [주제 생성](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)을 참조하세요.

생성한 주제의 주제 Amazon 리소스 이름(ARN)을 기록해 둡니다. 서비스를 호출할 때 ARN이 필요합니다.

## 4단계: Commerce Analytics Service 프로그램 등록
<a name="enroll-in-the-commerce-analytics-service-program"></a>

판매자가 주제 및 버킷 이름에 ARN을 사용하여 서비스를 구성하면 상거래 분석 서비스는 Amazon S3 버킷 및 Amazon SNS 주제에 액세스합니다.

**액세스를 활성화하려면**

1.  AWS Marketplace 제품을 관리하는 데 AWS 계정 사용하는 [AWS Marketplace Management Portal](https://aws.amazon.com/marketplace/management/)로에 로그인합니다.

1.  AWS Marketplace 상거래 분석 서비스에 등록하는 데 [ 필요한 IAM 권한](https://docs.aws.amazon.com/marketplace/latest/userguide/commerce-analytics-service.html#technical-implementation-guide)이 있는지 확인합니다.

1. [상거래 분석 서비스 등록 페이지](https://aws.amazon.com/marketplace/management/cas/enroll)로 이동합니다.

1. Amazon S3 버킷 이름과 Amazon SNS 주제 ARN을 입력하고 **등록**을 선택합니다.

1. 권한 페이지에서 **허용**을 선택합니다.

1. 에서 성공 메시지에 **역할 이름 ARN**을 AWS Marketplace Management Portal기록합니다. 서비스 호출 시 ARN이 필요합니다.

**참고**  
상거래 분석 서비스에 온보딩하면에 IAM 역할이 생성됩니다 AWS 계정. IAM 역할을 사용하면가 Amazon S3 버킷에 AWS Marketplace 쓰고 Amazon SNS 주제에 알림을 게시할 수 있습니다.는 계정 452565589796을 AWS Marketplace 사용하여이 IAM 역할에 연결된 작업을 수행합니다.

## 5단계: 구성 확인
<a name="verify-your-configuration"></a>

마지막 단계는 구성이 예상대로 작동하는지 확인하는 것입니다.

**구성을 테스트하려면**

1.  [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)(AWS CLI)를 다운로드, 설치 및 구성합니다.

1.  를 사용하여이 명령을 AWS CLI실행합니다.

   ```
   aws marketplacecommerceanalytics generate-data-set \
   --data-set-type "customer_subscriber_hourly_monthly_subscriptions" \
   --data-set-publication-date "{TODAY'S-DATE}" \
   --role-name-arn "{YOUR-ROLE-NAME-ARN}" \
   --destination-s3-bucket-name "{amzn-s3-demo-bucket}" \
   --destination-s3-prefix "TEST_PREFIX" \
   --sns-topic-arn "{YOUR-SNS-TOPIC-ARN}"
   ```
+  `--data-set-publication-date`에서 `{TODAY'S DATE}`를 ISO-8601 형식의 현재 날짜(`YYYY-MM-DDT00:00:00Z`)로 바꿉니다. 여기서 `YYYY`는 4자리 연도, `MM`은 2자리 월, `DD`는 2자리 일입니다.
+  `--role-name-arn`의 경우 `{YOUR-ROLE-NAME-ARN}`을 [4단계: Commerce Analytics Service 프로그램 등록](#enroll-in-the-commerce-analytics-service-program)의 등록 프로세스에서 받은 역할의 ARN으로 바꿉니다.
+  *--destination-s3-bucket-name*의 경우 *\$1amzn-s3-demo-bucket\$1*을 [2단계: 대상 Amazon S3 버킷 만들기](#create-a-destination-amazon-s3-bucket)에서 생성한 Amazon S3 버킷의 이름으로 바꿉니다.
+  **–sns-topic-arn의 경우 **\$1YOUR-SNS-TOPIC-ARN\$1을 [3단계: 응답 알림에 대한 Amazon SNS 주제 구성](#create-an-amazon-sns-topic-for-response-notifications)에서 생성한 Amazon SNS 주제로 바꿉니다.

**dataSetRequestId가 포함된 응답을 받으면 온보딩 프로세스가 완료된 것입니다. 성공적인 응답은 다음과 같습니다.

```
{
   "dataSetRequestId": "646dd4ed-6806-11e5-a6d8-fd5dbcaa74ab"
}
```

# AWS CLI 및 AWS Marketplace 에서 상거래 분석 서비스 사용 AWS SDK for Java
<a name="technical-implementation-guide"></a>

 AWS Marketplace 상거래 분석 서비스를 사용하면를 통해 프로그래밍 방식으로 제품 및 고객 데이터에 액세스할 수 있습니다 AWS Marketplace. AWS Marketplace 상거래 분석 서비스는 [AWS SDK](https://aws.amazon.com/tools/)를 통해 제공됩니다. [AWS CLI](https://aws.amazon.com/cli/) 및 [AWS SDK for Java](https://aws.amazon.com/sdk-for-java/)를 사용하여 Commerce Analytics Service와 상호 작용합니다. 이 섹션에서는 AWS CLI 및 Java용 SDK를 사용하여 상거래 분석 서비스를 구현하는 방법을 보여줍니다.

**Topics**
+ [상거래 분석 서비스에 대한 IAM 정책](#aws-marketplace-commerce-analytics-iam-permissions)
+ [를 사용하여 요청 AWS CLI](#making-requests-with-aws-cli)
+ [를 사용하여 요청 AWS SDK for Java](#making-requests-with-aws-java-sdk)

## 상거래 분석 서비스에 대한 IAM 정책
<a name="aws-marketplace-commerce-analytics-iam-permissions"></a>

사용자가 상거래 분석 서비스를 사용할 수 있게 하려면 다음 권한이 필요합니다.

다음 IAM 권한 정책을 사용하여 AWS Marketplace 상거래 분석 서비스에 등록합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:ListRoles",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "aws-marketplace-management:viewReports"
            ],
            "Resource": "*"
        }
    ]
}
```

------

다음 IAM 권한 정책을 사용하여 사용자가 AWS Marketplace 상거래 분석 서비스에 대한 요청을 생성할 수 있도록 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "marketplacecommerceanalytics:GenerateDataSet",
            "Resource": "*"
        }
    ]
}
```

------

자세한 내용은 *IAM 사용 설명서*의 [IAM 콘솔에서 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)을 참조하세요.

## 를 사용하여 요청 AWS CLI
<a name="making-requests-with-aws-cli"></a>

시작하려면 [AWS CLI](https://aws.amazon.com/cli/)를 다운로드합니다. 다음 AWS CLI 예제에서는 2017년 10월 1일에 시간**별/월별 구독** 데이터 세트를 요청합니다. 이 데이터 세트는 **demo-prefix** 접두사를 사용하여 Amazon S3 버킷 **demo-bucket**에 게시되며, 알림 메시지는 Amazon SNS 주제 **demo-topic**에 전달됩니다.

```
aws marketplacecommerceanalytics generate-data-set \
--data-set-type "customer_subscriber_hourly_monthly_subscriptions" \
--data-set-publication-date "2017-10-01T00:00:00Z" \
--role-name-arn "arn:aws:iam::123412341234:role/MarketplaceCommerceAnalyticsRole" \
--destination-s3-bucket-name "demo-bucket" \
--destination-s3-prefix "demo-prefix" \
--sns-topic-arn "arn:aws:sns:us-west-2:123412341234:demo-topic"
```

 이 요청은 각 요청에 대해 고유한 식별자를 반환합니다. 이 식별자를 사용하여 요청을 Amazon SNS 주제에 게시된 알림과 연결할 수 있습니다. 다음은 이 식별자의 예제입니다.

```
{
   "dataSetRequestId": "646dd4ed-6806-11e5-a6d8-fd5dbcaa74ab"
}
```

## 를 사용하여 요청 AWS SDK for Java
<a name="making-requests-with-aws-java-sdk"></a>

시작하려면 [AWS Java SDK](https://aws.amazon.com/sdk-for-java/)를 다운로드합니다. 다음 AWS SDK for Java 예제에서는 2015년 10월 1일에 대한 **시간별/월별 구독** 데이터 세트를 요청합니다. 이 데이터 세트는 **demo-prefix** 접두사를 사용하여 Amazon S3 버킷 **demo-bucket**에 게시되며, 알림 메시지는 Amazon SNS 주제 **demo-topic**에 전달됩니다.

```
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.marketplacecommerceanalytics.AWSMarketplaceCommerceAnalyticsClient;
import com.amazonaws.services.marketplacecommerceanalytics.model.GenerateDataSetRequest;
import com.amazonaws.services.marketplacecommerceanalytics.model.GenerateDataSetResult;
/**
* This sample demonstrates how to make basic requests to the AWS Marketplace Commerce 
* Analytics service using the AWS SDK for Java.
* <p>
* <b>Prerequisites:</b> Follow the on-boarding guide: {URL OR SOMETHING}
* <p>
* Fill in your AWS access credentials in the provided credentials file
* template, and be sure to move the file to the default location
* (~/.aws/credentials) where the sample code will load the credentials from.
* <p>
* <b>WARNING:</b> To avoid accidental leakage of your credentials, DO NOT keep
* the credentials file in your source directory.
* <p>
* http://aws.amazon.com/security-credentials
*/
public class MarketplaceCommerceAnalyticsSample {
public static void main(String[] args) throws ParseException {
/*
* The ProfileCredentialsProvider will return your [default]
* credential profile by reading from the credentials file located at
* (~/.aws/credentials).
*/
AWSCredentials credentials = null;
try {
credentials = new ProfileCredentialsProvider().getCredentials();
} catch (Exception e) {
throw new AmazonClientException("Cannot load the credentials from the credential profiles "
+ "file. Make sure that your credentials file is at the correct "
+ "location (~/.aws/credentials), and is in valid
format.", e);
}
AWSMarketplaceCommerceAnalyticsClient client = new AWSMarketplaceCommerceAnalyticsClient(credentials);
Region usEast1 = Region.getRegion(Regions.US_EAST_1);
client.setRegion(usEast1);
System.out.println("===============================================================");
System.out.println("Getting Started with AWS Marketplace Commerce Analytics Service"); 
System.out.println("===============================================================\n");
// Create a data set request with the desired parameters
GenerateDataSetRequest request = new GenerateDataSetRequest();
request.setDataSetType("customer_subscriber_hourly_monthly_subscriptions");
request.setDataSetPublicationDate(convertIso8601StringToDateUtc("2014-06-09T00:00:00Z"));
request.setRoleNameArn("arn:aws:iam::864545609859:role/MarketplaceCommerceAnalyticsRole");
request.setDestinationS3BucketName("awsmp-goldmine-seller");
request.setDestinationS3Prefix("java-sdk-test");
request.setSnsTopicArn("arn:aws:sns:us-west-2:864545609859:awsmp-goldmine-seller-topic");
System.out.println(
String.format("Creating a request for data set %s for publication date %s.",
request.getDataSetType(), request.getDataSetPublicationDate()));
try {
// Make the request to the service
GenerateDataSetResult result = client.generateDataSet(request);
// The Data Set Request ID is a unique identifier that you can use to correlate the
// request with responses on your Amazon SNS topic 
System.out.println("Request successful, unique ID: " + result.getDataSetRequestId());
} catch (AmazonServiceException ase) {
System.out.println("Caught an AmazonServiceException, which means your request made it "
+ "to the AWS Marketplace Commerce Analytics service, but was rejected with an " 
+ "error response for some reason.");
System.out.println("Error Message: " + ase.getMessage());
System.out.println("HTTP Status Code: " + ase.getStatusCode());
System.out.println("AWS Error Code: " + ase.getErrorCode());
System.out.println("Error Type: " + ase.getErrorType());
System.out.println("Request ID: " + ase.getRequestId());
} catch (AmazonClientException ace) {
System.out.println("Caught an AmazonClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with the AWS Marketplace"
+ "Commerce Analytics service, such as not being able to access the "
+ "network.");
System.out.println("Error Message: " + ace.getMessage());
}
}
private static Date convertIso8601StringToDateUtc(String dateIso8601) throws ParseException {
TimeZone utcTimeZone = TimeZone.getTimeZone("UTC");
DateFormat utcDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");
utcDateFormat.setTimeZone(utcTimeZone);
return utcDateFormat.parse(dateIso8601);
}
}
```

이 예에서는 다음과 비슷한 결과가 나올 것입니다.

```
===============================================================
Getting Started with AWS Marketplace Commerce Analytics Service 
===============================================================
Creating a request for data set customer_subscriber_hourly_monthly_subscriptions for publication
date Sun Jun 08 17:00:00 PDT 2014.
Request successful, unique ID: c59aff81-6875-11e5-a6d8-fd5dbcaa74ab
```

# AWS Marketplace Commerce Analytics Service를 사용하여 데이터세트 생성
<a name="technical-documentation"></a>

AWS Marketplace Commerce Analytics Service에 등록한 후에는 AWS CLI와 AWS SDK for Java를 통해 사용, 구독, 청구 보고서에 액세스할 수 있습니다. SDK 도구를 사용하여 요청한 데이터는 AWS 계정에 데이터 세트로 제공됩니다. 대부분의 데이터 세트는 [AWS Marketplace Management Portal](https://aws.amazon.com/marketplace/management/tour)에서 사용할 수 있는 텍스트 기반 보고서와 동일한 형태의 데이터에 해당합니다. 자세한 내용은 [AWS Marketplace 상거래 분석 서비스를 사용하여 제품 및 고객 데이터 액세스](commerce-analytics-service.md) 단원을 참조하세요. 이 섹션에서는 Commerce Analytics Service에서 생성한 데이터세트와 관련된 파라미터, 응답 및 출력에 대한 정보를 제공합니다.

**Topics**
+ [`GenerateDataSet` 파라미터](#generate-data-set-parameters)
+ [응답](#responses)
+ [결과](#outputs)

## `GenerateDataSet` 파라미터
<a name="generate-data-set-parameters"></a>

AWS Marketplace Commerce Analytics Service는 하나의 `GenerateDataSet` 메서드를 표시하며, 이 메서드를 사용해 Amazon S3 버킷에 데이터세트를 게시하도록 요청할 수 있습니다. 다음 표는 `GenerateDataSet`에 대한 파라미터를 나열합니다.


**데이터 세트 파라미터**  

| **필드** | **설명** | 
| --- | --- | 
| Data Set Type | 이 데이터 세트는 요청의 결과로 반환됩니다. | 
| Data Set Publication Date  |  데이터 세트가 게시된 날짜입니다. 일별 데이터 세트의 경우 원하는 날의 일 수준으로 세분화된 날짜를 입력합니다. 월별 데이터 세트의 경우 원하는 달의 월 수준으로 세분화된 날짜를 입력합니다. 일 값은 무시됩니다.  | 
| Role Name ARN | 연결된 권한 정책이 포함된 역할의 ARN은 리소스에 대한 액세스를 포함한 서비스를 제공합니다. | 
| Destination Amazon S3 Bucket Name | 대상 Amazon S3 버킷의 이름(ARN이 아닌 익숙한 이름)입니다. 데이터 세트가 이 위치에 게시됩니다. | 
| Destination Amazon S3 Prefix |  (선택 사항) 게시된 데이터 세트의 Amazon S3 접두사이며 표준 파일 시스템의 디렉터리 경로와 유사합니다. 예를 들어 해당 버킷 이름이 `mybucket`이고 접두사가 `myprefix/mydatasets`인 경우 출력 파일은 `s3://amzn-s3-demo-bucket/myprefix/mydatasets/outputfile`에 게시됩니다. 접두사 구조 디렉터리가 존재하지 않으면 새로 생성됩니다. 접두사가 제공되지 않으면 데이터 세트가 Amazon S3 버킷 루트에 게시됩니다.  | 
| SNS 주제 ARN |   데이터 세트가 게시되거나 오류가 발생할 때 알림을 받는 Amazon SNS 주제의 ARN입니다.  | 

## 응답
<a name="responses"></a>

AWS Marketplace 상거래 분석 서비스는 두 가지 응답을 반환합니다. 첫 번째는 즉시 반환되는 동기식이고, 두 번째는 Amazon SNS를 사용하여 반환되는 비동기식입니다. 동기식 응답은 다음 예제와 유사합니다.


**데이터 세트 파라미터**  

| **필드** | **설명** | 
| --- | --- | 
| Data Set Request ID  | 서비스에 대한 특정 요청을 나타내는 고유 식별자입니다. 이 식별자를 사용하여 요청에 Amazon SNS 주제에 대한 알림을 연결할 수 있습니다. | 

비동기식 응답은 Amazon SNS 주제에 JSON 형식의 문서로 게시되며 다음 예제와 유사합니다.


**데이터 세트 파라미터**  

|  **필드**  |  **설명**  | 
| --- | --- | 
| Data Set S3 Location  | 전달된 데이터 세트의 버킷 이름 및 키입니다. | 
| Data Set Meta Data S3 Location  | 전달된 데이터 세트 메타데이터 파일의 버킷 이름 및 키입니다. | 
| Data Set Request ID  | 서비스에 대한 특정 요청을 나타내는 고유 식별자입니다. 이 식별자를 사용하여 요청에 Amazon SNS 주제에 대한 알림을 연결할 수 있습니다. | 
| Success  | 작업이 성공하면 "true"이고, 성공하지 않으면 "false”입니다. | 
| 메시지  | (선택 사항) 오류가 발생한 경우(예: “Success”가 “false”인 경우) 이 메시지에는 결함에 대한 정보가 포함됩니다. | 

 **JSON 형식 비동기식 응답 예제** 

```
 {    
   "dataSetS3Location":{
      "bucketName":"demo-bucket",
      "key":"demo-prefix/customer_subscriber_hourly_monthly_subscriptions_2014-06-09.csv"
   },
   "dataSetMetaDataS3Location":{
      "bucketName":"demo-bucket",
      "key":"demo-prefix/customer_subscriber_hourly_monthly_subscriptions_2014-06-09.meta.json"
   },
   "dataSetRequestId":"f65b7244-6862-11e5-80e2-c5127e17c023",
   "success":true
 }
```

## 결과
<a name="outputs"></a>

성공적인 요청 이후 요청한 데이터 세트가 .csv 파일로 Amazon S3 버킷에 제공됩니다. JSON 형식 메타데이터 파일이 데이터 세트 파일과 동일한 위치에 게시됩니다. 메타데이터 파일은 데이터 세트 및 원래 요청 파라미터에 관한 유용한 정보를 제공합니다. 메타데이터 파일은 데이터 세트 파일과 동일한 이름이 있지만 .meta.json 확장자로 끝납니다. 다음 표에 .csv 파일의 메타데이터 필드가 나열되어 있습니다.


**메타데이터 필드**  

|  **필드**  |  **설명**  | 
| --- | --- | 
| Data Set Request ID  | 서비스에 대한 특정 요청을 나타내는 고유 식별자입니다. 이 식별자를 사용하여 요청에 Amazon SNS 주제에 대한 알림을 연결할 수 있습니다. | 
| Data Set Coverage Range  | 데이터 범위에 대한 시작 날짜/시간 및 종료 날짜/시간을 정의합니다. 이 날짜는 ISO 8601 형식입니다. | 
| Data Set Request Parameters  | GenerateDataSet 메서드에 대한 원래 요청 파라미터입니다. | 
| Data Set S3 Location  | 전달된 데이터 세트의 버킷 이름 및 키입니다. | 
| Data Set Meta Data S3 Location  | 전달된 데이터 세트 메타데이터 파일의 버킷 이름 및 키입니다. | 

다음은 JSON 형식 메타데이터 콘텐츠의 예입니다.

```
{
"dataSetRequestId": "43d7137b-8a94-4042-a09d-c41e87f371c1",
"dataSetCoverageRange": {
"startDateTime": "2014-06-08T00:00:00.000Z",
"endDateTime": "2014-06-08T23:59:59.000Z"
},
"dataSetRequestParameters": {
"sellerAccountId": "123412341234",
"dataSetType": "customer_subscriber_hourly_monthly_subscriptions",
"dataSetPublicationDate": "2014-06-09T00:00:00.000Z",
"roleNameArn": "arn:aws:iam::123412341234:role/MarketplaceCommerceAnalyticsRole",
"destinationS3BucketName": "demo-bucket",
"destinationS3Prefix": "demo_prefix/customer_subscriber_hourly_monthly_subscriptions",
"snsTopicArn": "arn:aws:sns:us-west-2:123412341234:demo-topic"
},
"dataSetS3Location": {
"bucketName": "demo-bucket",
"key": "demo_prefix/customer_subscriber_hourly_monthly_subscriptions_2014-06-09.csv"
},
"dataSetMetaDataS3Location": {
"bucketName": "demo-bucket",
"key": "demo_prefix/customer_subscriber_hourly_monthly_subscriptions_2014-06-09.meta.json"
}
}
```

이용 가능한 데이터세트(가용성 날짜 포함)의 전체 목록은 [AWS SDK 설명서](https://docs.aws.amazon.com/cli/latest/reference/marketplacecommerceanalytics/generate-data-set.html#options)를 참조하세요.

# AWS Marketplace 상거래 분석 서비스 문제 해결
<a name="cas-troubleshooting"></a>

제품 및 고객 데이터를 프로그래밍 방식으로 제공하는 AWS Marketplace 상거래 분석 서비스에서 문제를 해결할 수 있습니다 AWS Marketplace. 오류 또는 기타 구성 문제가 발생하는 경우 Commerce Analytics Service 문제를 해결해야 할 수 있습니다. 다음 섹션에서는 Commerce Analytics Service의 일반적인 문제를 진단 및 해결하는 단계를 다루는 문제 해결 프로세스를 안내합니다.

 **허용 목록 문제로 인해 서비스에 액세스 할 수 없습니다.**

에 아직 판매자로 등록하지 않은 경우 AWS Marketplace를 방문하여 등록[AWS Marketplace Management Portal](https://aws.amazon.com/marketplace/management)합니다. 판매자로 이미 등록한 경우 [https://aws.amazon.com/marketplace/management/contact-us/](https://aws.amazon.com/marketplace/management/contact-us/) 팀에 AWS Marketplace문의하세요.

**과거 날짜에 있는 데이터 세트를 요청할 수 없습니다. 그런데 SDK 설명서에서는 이러한 날짜에 대해 이용할 수 있다고 나와 있습니다.**

데이터 세트가 과거의 특정 날짜에 대해 이용 가능한 것으로 나열되어도 AWS Marketplace에 가입한 이후의 데이터만 보유합니다. 오류라고 생각되면 [https://aws.amazon.com/marketplace/management/contact-us/](https://aws.amazon.com/marketplace/management/contact-us/) 팀에 문의하세요.

 **서비스를 호출할 때 다음 오류 메시지를 받았습니다. “엔드포인트 URL: https://marketplacecommerceanalytics.eu-central-1.amazonaws.com/에 연결할 수 없음”** 

 AWS Marketplace 상거래 분석 서비스는 미국 동부(버지니아 북부) 리전에서만 사용할 수 있습니다. 상거래 분석 서비스에 대한 모든 호출은 `us-east-1` 엔드포인트에서 이루어져야 합니다.

를 사용하는 경우 다음 예제와 `us-east-1`같이 각 호출에 "`--region` 플래그를 AWS CLI추가하고를 AWS 리전 로 지정합니다.

```
aws marketplacecommerceanalytics generate-data-set \
--data-set-type "customer_subscriber_hourly_monthly_subscriptions" \
--data-set-publication-date "2016-04-21T00:00:00Z" \
--role-name-arn "arn:aws:iam::138136086619:role/MarketplaceCommerceAnalyticsRole" \
--destination-s3-bucket-name "marketplace-analytics-service" \
--destination-s3-prefix "test-prefix" \
--sns-topic-arn "arn:aws:sns:eu-central-1:138136086619:Marketplace_Analytics_Service_Notice" \
 --region us-east-1
```

 **온보딩 프로세스를 거쳤을 때 선택한 것과 다른 Amazon S3 버킷 또는 Amazon SNS 주제를 사용하고자 합니다.**

 AWS Marketplace 상거래 분석 서비스에 등록할 때 Amazon S3 버킷과 Amazon SNS 주제를 지정했습니다. 온보딩 프로세스는 이 서비스가 특정 리소스에만 액세스할 수 있도록 IAM 권한을 구성합니다. 다른 리소스를 사용하려면 IAM 정책을 수정해야 합니다.

1. 

   에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1.  IAM 콘솔의 왼쪽에서 **역할**을 선택합니다.

1.  **MarketplaceCommerceAnalyticsRole**을 선택합니다.

1.  이미 펼쳐지지 않은 경우 **Inline Roles(인라인 역할)** 섹션을 펼칩니다.

1.  이름이 *oneClick\$1MarketplaceCommerceAnalyticsRole*로 시작하는 정책을 찾아 **정책 편집**을 선택합니다.

1.  이 정책 문서에서 수정하고자 하는 서비스와 관련이 있는 작업을 지정하는 섹션을 찾습니다. 예를 들어 Amazon S3 버킷을 변경하려면 **s3:**으로 시작하는 작업이 포함된 섹션을 찾은 다음, 해당 **리소스** 선택 내용을 변경하여 새 Amazon S3 버킷을 지정합니다.

 IAM 정책에 대한 자세한 내용은 다음 가이드를 참조하세요. [https://docs.aws.amazon.com/IAM/latest/UserGuide/access\$1policies.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 

**`GenerateDataSet` 작업을 호출할 때 `AccessDeniedException` 오류가 발생하는 경우**

이 문제는 사용자가 `GenerateDataSet`를 호출하는 데 필요한 권한이 없을 때 발생할 수 있습니다. 다음 절차에서는 IAM 콘솔을 사용하여 이러한 권한이 있는 IAM 정책을 생성하고 사용자, 그룹 또는 역할에 이 권한을 추가하는 단계를 설명합니다.

**JSON 정책 편집기를 사용하여 정책을 생성하는 방법**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 왼쪽의 탐색 창에서 **정책**을 선택합니다.

   **정책**을 처음으로 선택하는 경우 **관리형 정책 소개** 페이지가 나타납니다. **시작**을 선택합니다.

1. 페이지 상단에서 **정책 생성**을 선택합니다.

1. **정책 편집기** 섹션에서 **JSON** 옵션을 선택합니다.

1. 다음 JSON 정책 문서를 입력합니다.

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "marketplacecommerceanalytics:GenerateDataSet",
         "Resource": "*"
       }
     ]
   }
   ```

1. **다음**을 선택합니다.
**참고**  
언제든지 **시각적** 편집기 옵션과 **JSON** 편집기 옵션 간에 전환할 수 있습니다. 그러나 변경을 적용하거나 **시각적** 편집기에서 **다음**을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [정책 재구성](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)을 참조하세요.

1. **검토 및 생성** 페이지에서 생성하는 정책에 대한 **정책 이름**과 **설명**(선택 사항)을 입력합니다. **이 정책에 정의된 권한**을 검토하여 정책이 부여한 권한을 확인합니다.

1. **정책 생성**을 선택하고 새로운 정책을 저장합니다.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요.
+ 의 사용자 및 그룹 AWS IAM Identity Center:

  권한 세트를 생성합니다. *AWS IAM Identity Center 사용자 안내서*에서 [권한 세트 생성](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)의 지침을 따릅니다.
+ ID 공급자를 통해 IAM에서 관리되는 사용자:

  ID 페더레이션을 위한 역할을 생성합니다. *IAM 사용 설명서*의 [서드파티 ID 공급자(페더레이션)를 위한 역할 생성](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)의 지침을 따릅니다.
+ IAM 사용자:
  + 사용자가 맡을 수 있는 역할을 생성합니다. *IAM 사용 설명서*의 [IAM 사용자 역할 생성](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)의 지침을 따릅니다.
  + (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용 설명서**에서 [사용자(콘솔)에 권한 추가](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)의 지침을 따르세요.

 **문제가 이곳에 나열되어 있지 않습니다.**

 [https://aws.amazon.com/marketplace/management/contact-us/](https://aws.amazon.com/marketplace/management/contact-us/) 팀에 문의하세요.