

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

# Amazon Personalize 캠페인의 구성 업데이트
<a name="update-campaigns"></a>

캠페인의 [최소 프로비저닝 TPS](campaigns.md#min-tps-auto-scaling)를 변경하거나, 새 솔루션 버전을 수동으로 배포하거나, 추천 사항에 메타데이터를 포함하는 옵션을 켜는 등 캠페인의 구성을 수정하려면 캠페인을 수동으로 업데이트해야 합니다.

 다음은 수동 캠페인 업데이트가 필요하지 않습니다.
+ 캠페인이 자동 캠페인 업데이트를 사용하는 경우 최신 솔루션 버전을 자동으로 또는 수동으로 배포하기 위해 업데이트할 필요가 없습니다. 자세한 내용은 [자동 캠페인 업데이트](campaigns.md#create-campaign-automatic-latest-sv-update) 섹션을 참조하세요.
+  User-Personalization-v2, User-Personalization 또는 Next-Best-Action을 사용하면 Amazon Personalize는 추천에 새 항목 또는 작업을 포함하도록 2시간마다 최신 솔루션 버전을 자동으로 업데이트합니다. 캠페인에서 업데이트된 솔루션 버전을 자동으로 사용합니다.

Personalize 콘솔, AWS Command Line Interface(AWS CLI) 또는 AWSSDK를 사용하여 캠페인을 수동으로 업데이트합니다.

**참고**  
추천에 메타데이터를 포함하는 옵션을 켜기 위해 캠페인을 업데이트하려면 메타데이터 열이 포함된 항목 데이터세트가 있어야 합니다. 교육 시 메타데이터를 사용할 필요는 없습니다.  
캠페인에서 이전에 User-Personalization-v2 또는 Personalized-Ranking-v2를 사용한 솔루션 버전을 배포했고 이전 버전의 레시피로 전환하는 경우 메타데이터를 포함하는 옵션이 기본적으로 꺼져 있습니다. 캠페인을 업데이트할 때 이 옵션을 활성화할 수 있습니다. 자세한 내용은 [추천에서 항목 메타데이터](campaigns.md#create-campaign-return-metadata) 섹션을 참조하세요.

**Topics**
+ [캠페인 업데이트(콘솔)](#update-campaign-console)
+ [캠페인 업데이트(AWS CLI)](#update-campaign-cli)
+ [캠페인 업데이트(AWS SDK)](#update-campaign-sdk)

## 캠페인 업데이트(콘솔)
<a name="update-campaign-console"></a>

수동으로 재학습된 솔루션 버전을 배포하거나 캠페인 구성을 변경하려면 캠페인을 업데이트해야 합니다.

**캠페인을 업데이트하려면(콘솔)**

1. [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home)에서 Amazon Personalize 콘솔을 열고 계정에 로그인합니다.

1.  업데이트하려는 캠페인의 데이터세트 그룹을 선택합니다.

1. 탐색 창에서 **캠페인**을 선택합니다.

1. **캠페인** 페이지에서 업데이트할 캠페인을 선택합니다.

1. 캠페인 세부 정보 페이지에서 **업데이트**를 선택합니다.

1. **캠페인 업데이트** 페이지에서 내용을 변경합니다. 예를 들어, 재학습된 솔루션 버전을 배포하는 경우 **솔루션 버전 ID**의 경우 새 솔루션 버전의 식별 번호를 선택합니다.

1. **업데이트**를 선택합니다. Personalize가 캠페인을 업데이트하도록 새 솔루션 버전과 변경된 구성을 사용합니다.

## 캠페인 업데이트(AWS CLI)
<a name="update-campaign-cli"></a>

새 솔루션 버전을 배포하거나, 캠페인의 [최소 프로비저닝 TPS](campaigns.md#min-tps-auto-scaling)을 변경하거나, 캠페인 구성을 변경하려면 캠페인을 업데이트해야 합니다. AWS CLI의 새 솔루션 버전을 사용하도록 캠페인을 업데이트하려면 다음 `update-campaign`명령을 사용합니다.

`campaign arn`을 업데이트하려는 캠페인의 리소스 이름(ARN)으로 바꿉니다. `new solution version arn`을 배포하려는 솔루션 버전으로 바꿉니다.

```
aws personalize update-campaign \
--campaign-arn campaign arn \
--solution-version-arn new solution version arn \
--min-provisioned-tps 1
```

## 캠페인 업데이트(AWS SDK)
<a name="update-campaign-sdk"></a>

새 솔루션 버전을 배포하거나, 캠페인의 [최소 프로비저닝 TPS](campaigns.md#min-tps-auto-scaling)을 변경하거나, 캠페인 구성을 변경하려면 캠페인을 업데이트해야 합니다. Python용 SDK(Boto3) 또는 Java 2.x용 SDK를 사용하여 캠페인을 업데이트하려면 다음 코드를 사용합니다. 파라미터의 전체 목록은 [UpdateCampaign](API_UpdateCampaign.md)단원을 참조하세요.

------
#### [ SDK for Python (Boto3) ]

새 솔루션 버전을 배포하려면 다음 `update_campaign`메서드를 사용합니다. `campaign arn`을 업데이트하려는 캠페인의 리소스 이름(ARN)으로 바꾼 다음 `new solution version arn`을 새 솔루션 버전 ARN으로 바꾼 다음 필요에 따라 `minProvisionedTPS`을 변경합니다.

```
import boto3

personalize = boto3.client('personalize')

response = personalize.update_campaign(
    campaignArn = 'campaign arn',
    solutionVersionArn = 'new solution version arn',
    minProvisionedTPS = 1,
)

arn = response['campaignArn']

description = personalize.describe_campaign(campaignArn = arn)['campaign']
print('Name: ' + description['name'])
print('ARN: ' + description['campaignArn'])
print('Status: ' + description['status'])
```

------
#### [ SDK for Java 2.x ]

새 솔루션 버전을 사용하도록 캠페인을 업데이트하려면 다음 `updateCampaign`메서드를 사용합니다. Personalize 서비스 클라이언트, 새 솔루션 버전의 리소스 이름(ARN) 및 [최소 프로비저닝 TPS](campaigns.md#min-tps-auto-scaling)을 파라미터로 전달합니다.

```
public static void updateCampaign(PersonalizeClient personalizeClient, 
                                String campaignArn,
                                String solutionVersionArn, 
                                Integer minProvisionedTPS) {

    try {    
        // build the updateCampaignRequest
        UpdateCampaignRequest updateCampaignRequest = UpdateCampaignRequest.builder()
            .campaignArn(campaignArn)
            .solutionVersionArn(solutionVersionArn)
            .minProvisionedTPS(minProvisionedTPS)
            .build();
        
        // update the campaign
        personalizeClient.updateCampaign(updateCampaignRequest);
        
        DescribeCampaignRequest campaignRequest = DescribeCampaignRequest.builder()
              .campaignArn(campaignArn)
              .build();
    
        DescribeCampaignResponse campaignResponse = personalizeClient.describeCampaign(campaignRequest);
        Campaign updatedCampaign = campaignResponse.campaign();
        
        System.out.println("The Campaign status is " + updatedCampaign.status());
    
    } catch (PersonalizeException e) {
        System.err.println(e.awsErrorDetails().errorMessage());
        System.exit(1);
    }
}
```

------