

AWS Data Pipeline 는 더 이상 신규 고객이 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS Data Pipeline 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# 파이프라인 정의 파일 구문
<a name="dp-writing-pipeline-definition"></a>

이 섹션의 지침은 AWS Data Pipeline 명령줄 인터페이스(CLI)를 사용하여 파이프라인 정의 파일을 수동으로 작업하기 위한 것입니다. 이는 AWS Data Pipeline 콘솔을 사용하여 대화형으로 파이프라인을 설계하는 대신 사용할 수 있습니다.

UTF-8 파일 형식을 사용하여 파일 저장을 지원하는 텍스트 편집기를 사용하여 파이프라인 정의 파일을 수동으로 생성하고 AWS Data Pipeline 명령줄 인터페이스를 사용하여 파일을 제출할 수 있습니다.

AWS Data Pipeline 는 파이프라인 정의 내에서 다양한 복잡한 표현식과 함수도 지원합니다. 자세한 내용은 [파이프라인 표현식 및 함수](dp-expressions-functions.md) 단원을 참조하십시오.

## 파일 구조
<a name="dp-file-structure"></a>

파이프라인 생성의 첫 단계는 파이프라인 정의 파일에서 파이프라인 정의 객체를 구성하는 일입니다. 다음 예제는 파이프라인 정의 파일의 일반 구조를 보여줍니다. 이 파일은 두 객체를 정의하는데, 이 객체는 '\$1' 및 '\$1'로 구분되고, 콤마로 분리됩니다.

다음 예제에서는 첫 번째 객체가 *필드*라고 하는 이름-값 쌍 2개를 정의합니다. 두 번째 객체는 3개 필드를 정의합니다.

```
{
  "objects" : [
    {
       "name1" : "value1",
       "name2" : "value2"
    },
    {
       "name1" : "value3",
       "name3" : "value4",
       "name4" : "value5"
    }
  ]
}
```

파이프라인 정의 파일을 생성할 때는 필요하게 될 파이프라인 객체 유형을 선택하고, 이것을 파이프라인 정의 파일에 추가한 다음 해당 필드를 추가해야 합니다. 파이프라인 객체에 대한 자세한 내용은 [파이프라인 객체 참조](dp-pipeline-objects.md) 섹션을 참조하세요.

예를 들어, 입력 데이터 노드용 파이프라인 정의 객체와 출력 데이터 노드용 파이프라인 정의 객체를 생성할 수 있을 것입니다. 그런 다음 Amazon EMR을 사용하여 입력 데이터를 처리하는 것과 같은 활동의 파이프라인 정의 객체도 생성합니다.

## 파이프라인 필드
<a name="dp-add-fields"></a>

파이프라인 정의 파일에 포함시킬 객체 유형을 확인한 후에 각 파이프라인 객체의 정의에 필드를 추가합니다. 필드 이름은 인용 부호 안에 들어가며, 다음 예제에서처럼 스페이스, 콜론, 스페이스로 필드 값과 분리됩니다.

```
"name" : "value"
```

텍스트 문자열, 다른 객체의 참조, 함수 호출, 표현식 또는 이 모든 유형의 정렬 목록이 필드 값이 될 수 있습니다. 필드 값에 사용할 수 있는 데이터 형식에 대한 자세한 내용은 [단순한 데이터 유형](dp-expressions-functions.md#dp-pipeline-datatypes) 단원을 참조하세요. 필드 값을 평가할 때 사용할 수 있는 함수에 대한 자세한 내용은 [표현식 평가](dp-pipeline-expressions.md#dp-datatype-functions) 단원을 참조하세요.

필드는 2048자로 제한됩니다. 객체 크기는 20KB이므로 객체에 큰 필드 여러 개를 추가할 수 없습니다.

각 파이프라인 객체에는 다음 예제와 같이 `id` 및 `type` 필드가 포함되어야 합니다. 객체 유형에 따라 이 외의 필드가 필요할 수도 있습니다. 자신에게 의미가 있고, 파이프라인 정의 안에서 고유한 `id` 값을 선택하세요. `type` 값은 객체 유형을 지정합니다. 지원되는 파이프라인 정의 객체 유형([파이프라인 객체 참조](dp-pipeline-objects.md) 주제에 나열되어 있는) 중 하나를 지정하세요.

```
{
  "id": "MyCopyToS3",
  "type": "CopyActivity"
}
```

각 객체의 필수 필드와 선택 필드에 관한 자세한 내용은 객체 문서를 참조하세요.

다른 객체에 있는 한 객체의 필드를 포함시키려면 객체 참조와 함께 `parent` 필드를 사용합니다. 예를 들어, 객체 "B"에는 그 필드 "B1"과 "B2" 그리고 객체 "A", "A1", "A2"의 필드가 포함됩니다.

```
{
  "id" : "A",
  "A1" : "value",
  "A2" : "value"
},
{
  "id" : "B",
  "parent" : {"ref" : "A"},
  "B1" : "value",
  "B2" : "value"
}
```

ID "Default"로 객체에서 공통 필드를 정의할 수 있습니다. 이러한 필드는 그 `parent` 필드를 다른 객체의 참조로 명시적으로 설정하지 않는 파이프라인 정의 파일 내 각 객체에 자동으로 포함됩니다.

```
{
  "id" : "Default",
  "onFail" : {"ref" : "FailureNotification"},
  "maximumRetries" : "3",
  "workerGroup" : "myWorkerGroup"
}
```

## 사용자 정의 필드
<a name="dp-userdefined-fields"></a>

파이프라인 구성요소에서 사용자 정의 또는 사용자 지정 필드를 생성하고, 표현식으로 참조할 수 있습니다. 다음 예제는 이름이 `myCustomField` 및 `my_customFieldReference`이고, S3DataNode 객체에 추가된 사용자 지정 필드를 보여줍니다.

```
{
  "id": "S3DataInput",
  "type": "S3DataNode",
  "schedule": {"ref": "TheSchedule"},
  "filePath": "s3://bucket_name",
  "myCustomField": "This is a custom value in a custom field.",
  "my_customFieldReference": {"ref":"AnotherPipelineComponent"}
  },
```

사용자 정의 필드의 이름은 모두 소문자인 "my" 단어가 앞에 붙고, 그 뒤에 대문자 또는 밑줄 문자가 있어야 합니다. 그리고 사용자 정의 필드는 앞의 `myCustomField` 예제와 같이 문자열 값 또는 앞의 `my_customFieldReference` 예제와 같은 파이프라인 구성요소의 참조일 수 있습니다.

**참고**  
사용자 정의 필드에서는 사용자가 추가하는 사용자 지정 필드 문자열 값이 아닌 다른 파이프라인 구성 요소에 대한 유효한 참조 AWS Data Pipeline 만 확인합니다.