

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

# 대상 규칙 생성
<a name="appconfig-experimentation-about-specifying-audience-rule-section"></a>

**대상 규칙** 섹션에는 실험 대상을 대상으로 하는 규칙을 생성하기 위한 **규칙 빌더** 탭과 **편집기** 탭이 포함되어 있습니다.

**Topics**
+ [대상 규칙 빌더 사용](#appconfig-experimentation-about-specifying-audience-rule-builder)
+ [편집기 사용](#appconfig-experimentation-about-specifying-audience-editor)

## 대상 규칙 빌더 사용
<a name="appconfig-experimentation-about-specifying-audience-rule-builder"></a>

규칙 빌더는 표현식을 작성하지 않고 대상 대상 지정 규칙을 정의하는 시각적 인터페이스를 제공합니다. 속성을 사용하여 조건을 생성하고 논리 연산자와 결합하여 실험에 포함되는 사용자를 제어할 수 있습니다. 규칙 빌더에서 조건과 그룹을 결합하여 규칙을 정의합니다.
+ 조건은 단일 속성을 평가합니다(예: `$plan equals "enterprise"`).
+ 그룹은 `AND` 또는와 같은 논리 연산자를 사용하여 여러 조건을 결합합니다`OR`.

각 그룹은 `true` 또는 로 평가됩니다`false`. 전체 규칙과 일치하는 사용자는 대상 대상에 포함됩니다.

다음을 수행하려는 경우 규칙 빌더를 사용합니다.
+ 표현식을 작성하지 않고 대상 규칙을 빠르게 정의하거나 수정합니다.
+ 조건을 그룹화하고 평가하는 방법을 시각화합니다.
+ 대상 지정 로직을 점진적으로 빌드하고 검증합니다.

여기 몇 가지 예가 있습니다:

**Premium 계정 계층의 사용자를 대상으로 하는 규칙입니다.**

![샘플 대상 규칙이 지정된 실험의 규칙 빌더 탭 이미지입니다. AWS AppConfig](http://docs.aws.amazon.com/ko_kr/appconfig/latest/userguide/images/experimentation-rule-builder-1.png)


**특정 이메일 도메인을 사용하여 특정 지리적 리전의 사용자를 대상으로 지정하는 규칙입니다.**

![샘플 대상 규칙이 지정된 실험에서 규칙 빌더 탭의 두 번째 이미지입니다. AWS AppConfig](http://docs.aws.amazon.com/ko_kr/appconfig/latest/userguide/images/experimentation-rule-builder-2.png)


**베타 프로그램에 옵트인한 상태에서 특정 계획의 사용자를 대상으로 지정하거나 보조 계획을 사용하기 위한 규칙입니다.**

![지정된 샘플 대상 규칙을 사용한 AWS AppConfig 실험에서 규칙 빌더 탭의 세 번째 이미지입니다.](http://docs.aws.amazon.com/ko_kr/appconfig/latest/userguide/images/experimentation-rule-builder-3.png)


**편집기와의 관계**

규칙 빌더와 편집기는 서로 다른 형식으로 동일한 대상 지정 로직을 정의합니다.
+ 규칙 빌더는 규칙을 구성하는 시각적 방법을 제공합니다.
+ 편집기에는 동등한 논리 표현식이 표시됩니다.

한 보기에서 변경된 내용은 다른 보기에 반영됩니다.

**모범 사례**
+ 규칙을 읽을 수 있도록 유지 - 그룹을 사용하여 조건을 논리적으로 구성하고 깊이 중첩된 구조를 방지합니다.
+ 속성 값 검증 - 속성 이름과 값이 애플리케이션에서 제공한 값과 일치하는지 확인합니다.
+ 노출 전 테스트 - 0% 노출 및 처리 할당 재정의를 사용하여 규칙이 예상대로 작동하는지 확인합니다.

## 편집기 사용
<a name="appconfig-experimentation-about-specifying-audience-editor"></a>

편집기를 사용하면 실험에 포함되는 사용자를 결정하는 대상 지정 규칙을 정의할 수 있습니다. 이러한 규칙을 플랫폼, 리전 또는 애플리케이션 버전과 같은 사용자 또는 디바이스 속성을 평가하는 논리적 표현식으로 지정합니다. 실험이 실행되면는 각 사용자의 표현식을 AWS AppConfig 평가합니다. 기준과 일치하는 사용자는 대상 대상에 포함되며 처리에 할당될 수 있습니다.

**표현식 형식**

표현식은 접두사(함수 스타일) 구문을 사용합니다.

```
(operator argument1 argument2 ...)
```

예제:

```
(and
    (eq $system "iPhone")
    (lt $osVersion 1.8)
)
```

이 표현식에는 다음과 같은 사용자가 포함됩니다.
+ iPhone 사용 및
+ 운영 체제 버전이 1.8 이전이어야 합니다.

편집기는 규칙 빌더와 동일한 대상 지정 시나리오를 지원합니다. 대상 규칙의 시각적 예제는 섹션을 참조하세요[대상 규칙 빌더 사용](#appconfig-experimentation-about-specifying-audience-rule-builder).

**속성 정의**

속성은 평가 중인 사용자 또는 환경의 속성을 나타냅니다. 속성은 `$` 접두사로 참조됩니다.

일반적인 예는 다음과 같습니다.
+ `$system` - 디바이스 또는 플랫폼 유형
+ `$osVersion` - 운영 체제 버전
+ `$region` - 지리적 리전
+ `$appVersion` - 애플리케이션 버전

사용 가능한 속성은 애플리케이션과 데이터가 전달되는 방식에 따라 다릅니다 AWS AppConfig.

**표현식 작성**

논리 연산자를 사용하여 여러 조건을 결합할 수 있습니다.
+ `and`를 사용하여 모든 조건이 true가 되도록 요구합니다.
+ 모든 조건과 일치하는 `or` 데 사용
+ 조건을 제외`not`하는 데 사용

예제:

```
(and
    (eq $region "us-east-1")
    (or
        (eq $system "iPhone")
        (eq $system "Android")
    )
)
```

이 표현식은 iPhone 또는 Android 디바이스를 사용하는 `us-east-1`의 사용자를 대상으로 합니다.

**모범 사례**
+ 간단한 시작 - 작은 조건 집합으로 시작하고 필요에 따라 확장합니다.
+ 속성 검증 - 표현식에 사용되는 속성이 일관되게 채워져 있는지 확인합니다.
+ 지나치게 복잡한 표현식 방지 - 복잡한 로직으로 인해 대상 지정을 이해하고 유지하기가 더 어려울 수 있습니다.
+ 노출 전 테스트 - 0% 노출 및 처리 할당 재정의를 사용하여 규칙이 예상대로 작동하는지 확인합니다.

**표현식 연산자**

다음 연산자는 대상 표현식에서 지원됩니다.

논리 연산자



| 연산자 | 설명 | 예제 | 
| --- | --- | --- | 
| and | 모든 조건이 true이면 true를 반환합니다. | `(and (eq $region "us") (eq $system "iPhone"))` | 
| 또는 | 조건이 true인 경우 true를 반환합니다. | `(or (eq $system "iPhone") (eq $system "Android"))` | 
| not | 조건이 false인 경우 true를 반환합니다. | `(not (eq $region "eu-west-1"))` | 

비교 연산자



| 연산자 | 설명 | 예제 | 
| --- | --- | --- | 
| eq | 같음 | `(eq $system "iPhone")` | 
| ne | 같지 않음 | `(ne $region "us-west-2")` | 
| lt | 보다 작음 | `(lt $osVersion 1.8)` | 
| lte | 작거나 같음 | `(lte $osVersion 2.0)` | 
| gt | 보다 큼 | `(gt $appVersion 5.0)` | 
| gte | 크거나 같음 | `(gte $appVersion 5.0)` | 

문자열 및 집합 연산자



| 연산자 | 설명 | 예제 | 
| --- | --- | --- | 
| in | 목록의 모든 값과 일치합니다. | `(in $region ["us-east-1" "us-west-2"])` | 
| contains | 값에 하위 문자열이 포함되어 있는지 확인합니다. | `(contains $deviceName "iPhone")` | 

**참고**  
사용 가능한 연산자는 애플리케이션에서 속성을 정의하고 평가하는 방법에 따라 다를 수 있습니다.