

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

# 스트림 나열
<a name="kinesis-using-sdk-java-list-streams"></a>

스트림은 Kinesis Data Streams 클라이언트를 인스턴스화하는 데 사용되는 AWS 자격 증명과 연결된 AWS 계정과 클라이언트에 지정된 리전으로 범위가 지정됩니다. AWS 계정에서는 한 번에 여러 스트림이 활성 상태가 될 수 있습니다. Kinesis Data Streams 콘솔에서 또는 프로그래밍 방식으로 스트림을 나열할 수 있습니다. 이 섹션의 코드는 AWS 계정의 모든 스트림을 나열하는 방법을 보여줍니다.

```
ListStreamsRequest listStreamsRequest = new ListStreamsRequest();
listStreamsRequest.setLimit(20); 
ListStreamsResult listStreamsResult = client.listStreams(listStreamsRequest);
List<String> streamNames = listStreamsResult.getStreamNames();
```

이 코드 예제는 먼저 `ListStreamsRequest`의 새 인스턴스를 생성하고 해당 `setLimit` 메서드를 호출하여 각 호출에 대해 최대 20개의 스트림이 `listStreams`에 반환되도록 지정합니다. `setLimit`에 대한 값을 지정하지 않으면 Kinesis Data Streams에서는 계정의 수보다 작거나 같은 스트림 수를 반환합니다. 그런 다음 이 코드는 `listStreamsRequest`를 클라이언트의 `listStreams` 메서드로 전달합니다. 반환 값 `listStreams`는 `ListStreamsResult` 객체에 저장됩니다. 이 코드는 이 객체에 대해 `getStreamNames` 메서드를 호출하고 반환된 스트림 이름을 `streamNames` 목록에 저장합니다. Kinesis Data Streams는 계정 및 리전에서 더 많은 스트림이 있는 경우에도 지정된 한도에서 지정된 수보다 더 작은 스트림을 반환할 수 있습니다. 모든 스트림을 검색하려면 다음 코드 예제에 설명된 대로 `getHasMoreStreams` 메서드를 사용하십시오.

```
while (listStreamsResult.getHasMoreStreams()) 
{
    if (streamNames.size() > 0) {
      listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1));
    }
    listStreamsResult = client.listStreams(listStreamsRequest);
    streamNames.addAll(listStreamsResult.getStreamNames());
}
```

이 코드는 `getHasMoreStreams`에 대해 `listStreamsRequest` 메서드를 호출하여 `listStreams`에 대해 초기 호출에서 반환된 스트림 이외에 사용 가능한 추가 스트림이 있는지 여부를 확인합니다. 있는 경우 이 코드는 `setExclusiveStartStreamName`에 대해 이전 호출에서 반환된 마지막 스트림의 이름으로 `listStreams` 메서드를 호출합니다. `setExclusiveStartStreamName` 메서드는 `listStreams`에 대한 다음 호출이 해당 스트림 이후에 시작하도록 합니다. 이 호출에 의해 반환된 스트림 이름의 그룹은 `streamNames` 목록에 추가됩니다. 이 프로세스는 모든 스트림 이름이 목록에 수집될 때까지 계속 진행됩니다.

 `listStreams`에 의해 호출된 스트림은 다음 상태 중 하나일 수 있습니다.
+ `CREATING`
+ `ACTIVE`
+ `UPDATING`
+ `DELETING`

이전 단원인 `describeStream`에 표시된 대로 [API를 사용하여 스트림 생성](kinesis-using-sdk-java-create-stream.md) 메서드를 사용하여 스트림의 상태를 확인할 수 있습니다.