

# AWS CLI를 사용한 EventBridge Pipes 예제
<a name="cli_pipes_code_examples"></a>

다음 코드 예제에서는 EventBridge Pipes에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `create-pipe`
<a name="pipes_CreatePipe_cli_topic"></a>

다음 코드 예시는 `create-pipe`의 사용 방법을 보여줍니다.

**AWS CLI**  
**파이프를 생성하려면**  
다음 `create-pipe` 예제에서는 SQS를 소스로, CloudWatch Log Group을 파이프의 대상으로 사용하여 `Demo_Pipe`라는 파이프를 생성합니다.  

```
aws pipes create-pipe \
    --name Demo_Pipe \
    --desired-state RUNNING \
    --role-arn arn:aws:iam::123456789012:role/service-role/Amazon_EventBridge_Pipe_Demo_Pipe_28b3aa4f \
    --source arn:aws:sqs:us-east-1:123456789012:Demo_Queue \
    --target arn:aws:logs:us-east-1:123456789012:log-group:/aws/pipes/Demo_LogGroup
```
출력:  

```
{
    "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
    "Name": "Demo_Pipe",
    "DesiredState": "RUNNING",
    "CurrentState": "CREATING",
    "CreationTime": "2024-10-08T12:33:59-05:00",
    "LastModifiedTime": "2024-10-08T12:33:59.684839-05:00"
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreatePipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/create-pipe.html)를 참조하세요.

### `delete-pipe`
<a name="pipes_DeletePipe_cli_topic"></a>

다음 코드 예시는 `delete-pipe`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프를 삭제하려면**  
다음 `delete-pipe` 예제에서는 지정된 계정에서 `Demo_Pipe`라는 파이프를 삭제합니다.  

```
aws pipes delete-pipe \
    --name Demo_Pipe
```
출력:  

```
{
    "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
    "Name": "Demo_Pipe",
    "DesiredState": "STOPPED",
    "CurrentState": "DELETING",
    "CreationTime": "2024-10-08T09:29:10-05:00",
    "LastModifiedTime": "2024-10-08T11:57:22-05:00"
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeletePipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/delete-pipe.html)를 참조하세요.

### `describe-pipe`
<a name="pipes_DescribePipe_cli_topic"></a>

다음 코드 예시는 `describe-pipe`의 사용 방법을 보여줍니다.

**AWS CLI**  
**파이프에 대한 정보를 검색하려면**  
다음 `describe-pipe` 예제는 지정된 계정에서 `Demo_Pipe`라는 파이프에 대한 정보를 표시합니다.  

```
aws pipes describe-pipe \
    --name Demo_Pipe
```
출력:  

```
{
    "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
    "Name": "Demo_Pipe",
    "DesiredState": "RUNNING",
    "CurrentState": "RUNNING",
    "StateReason": "User initiated",
    "Source": "arn:aws:sqs:us-east-1:123456789012:Demo_Queue",
    "SourceParameters": {
        "SqsQueueParameters": {
            "BatchSize": 1
        }
    },
    "EnrichmentParameters": {},
    "Target": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/pipes/Demo_LogGroup",
    "TargetParameters": {},
    "RoleArn": "arn:aws:iam::123456789012:role/service-role/Amazon_EventBridge_Pipe_Demo_Pipe_28b3aa4f",
    "Tags": {},
    "CreationTime": "2024-10-08T09:29:10-05:00",
    "LastModifiedTime": "2024-10-08T10:23:47-05:00",
    "LogConfiguration": {
        "CloudwatchLogsLogDestination": {
            "LogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/vendedlogs/pipes/Demo_Pipe"
        },
        "Level": "ERROR"
    }
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DescribePipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/describe-pipe.html)를 참조하세요.

### `list-pipes`
<a name="pipes_ListPipes_cli_topic"></a>

다음 코드 예시는 `list-pipes`의 사용 방법을 보여줍니다.

**AWS CLI**  
**파이프 목록을 검색하려면**  
다음 `list-pipes` 예제에서는 지정된 계정의 모든 파이프를 표시합니다.  

```
aws pipes list-pipes
```
출력:  

```
{
    "Pipes": [
        {
            "Name": "Demo_Pipe",
            "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
            "DesiredState": "RUNNING",
            "CurrentState": "RUNNING",
            "StateReason": "User initiated",
            "CreationTime": "2024-10-08T09:29:10-05:00",
            "LastModifiedTime": "2024-10-08T10:23:47-05:00",
            "Source": "arn:aws:sqs:us-east-1:123456789012:Demo_Queue",
            "Target": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/pipes/Demo_LogGroup"
        }
    ]
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListPipes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/list-pipes.html) 섹션을 참조하세요.

### `list-tags-for-resource`
<a name="pipes_ListTagsForResource_cli_topic"></a>

다음 코드 예시는 `list-tags-for-resource`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프와 연결된 태그를 나열하려면**  
다음 `list-tags-for-resource` 예제에서는 지정된 계정에서 `Demo_Pipe`라는 파이프와 연결된 모든 태그를 나열합니다.  

```
aws pipes list-tags-for-resource \
    --resource-arn arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe
```
출력:  

```
{
    "tags": {
        "stack": "Production",
        "team": "DevOps"
    }
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/list-tags-for-resource.html)를 참조하세요.

### `start-pipe`
<a name="pipes_StartPipe_cli_topic"></a>

다음 코드 예시는 `start-pipe`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프를 시작하려면**  
다음 `start-pipe` 예제에서는 지정된 계정에서 `Demo_Pipe`라는 파이프를 시작합니다.  

```
aws pipes start-pipe \
    --name Demo_Pipe
```
출력:  

```
{
    "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
    "Name": "Demo_Pipe",
    "DesiredState": "RUNNING",
    "CurrentState": "STARTING",
    "CreationTime": "2024-10-08T09:29:10-05:00",
    "LastModifiedTime": "2024-10-08T10:17:24-05:00"
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*에서 [Amazon EventBridge 파이프 시작 또는 중지](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-start-stop.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [StartPipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/start-pipe.html) 섹션을 참조하세요.

### `stop-pipe`
<a name="pipes_StopPipe_cli_topic"></a>

다음 코드 예시는 `stop-pipe`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프를 중지하려면**  
다음 `stop-pipe` 예제에서는 지정된 계정에서 `Demo_Pipe`라는 파이프를 중지합니다.  

```
aws pipes stop-pipe \
    --name Demo_Pipe
```
출력:  

```
{
    "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
    "Name": "Demo_Pipe",
    "DesiredState": "STOPPED",
    "CurrentState": "STOPPING",
    "CreationTime": "2024-10-08T09:29:10-05:00",
    "LastModifiedTime": "2024-10-08T09:29:49-05:00"
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*에서 [Amazon EventBridge 파이프 시작 또는 중지](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-start-stop.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [StopPipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/stop-pipe.html) 섹션을 참조하세요.

### `tag-resource`
<a name="pipes_TagResource_cli_topic"></a>

다음 코드 예시는 `tag-resource`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프에 태그를 지정하려면**  
다음 `tag-resource` 예제에서는 `Demo_Pipe`라는 파이프에 태그를 지정합니다. 이 명령이 성공하면 출력이 반환되지 않습니다.  

```
aws pipes tag-resource \
    --resource-arn arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe \
    --tags stack=Production
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [TagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/tag-resource.html)를 참조하세요.

### `untag-resource`
<a name="pipes_UntagResource_cli_topic"></a>

다음 코드 예시는 `untag-resource`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프에서 태그를 제거하려면**  
다음 `untag-resource` 예제에서는 `Demo_Pipe`라는 파이프에서 `stack` 키가 있는 태그를 제거합니다. 이 명령이 성공하면 출력이 반환되지 않습니다.  

```
aws pipes untag-resource \
    --resource-arn arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe \
    --tags stack
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UntagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/untag-resource.html)를 참조하세요.

### `update-pipe`
<a name="pipes_UpdatePipe_cli_topic"></a>

다음 코드 예시는 `update-pipe`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 파이프를 업데이트하려면**  
다음 `update-pipe` 예제에서는 CloudWatch Log 구성 파라미터를 추가하여 `Demo_Pipe`라는 파이프를 업데이트하고, 파이프의 실행 역할을 업데이트하여 로그 대상에 대한 올바른 권한을 갖도록 합니다.  

```
aws pipes update-pipe \
    --name Demo_Pipe \
    --desired-state RUNNING \
    --log-configuration CloudwatchLogsLogDestination={LogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:/aws/vendedlogs/pipes/Demo_Pipe},Level=TRACE \
    --role-arn arn:aws:iam::123456789012:role/service-role/Amazon_EventBridge_Pipe_Demo_Pipe_28b3aa4f
```
출력:  

```
{
    "Arn": "arn:aws:pipes:us-east-1:123456789012:pipe/Demo_Pipe",
    "Name": "Demo_Pipe",
    "DesiredState": "RUNNING",
    "CurrentState": "UPDATING",
    "CreationTime": "2024-10-08T09:29:10-05:00",
    "LastModifiedTime": "2024-10-08T11:35:48-05:00"
}
```
자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge Pipes 개념](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-concepts.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UpdatePipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/update-pipe.html)를 참조하세요.