스트림 나열 - Amazon Kinesis Data Streams

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

스트림 나열

이전 섹션에서 설명된 대로 스트림의 범위는 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 메서드로 전달합니다. 반환 값 listStreamsListStreamsResult 객체에 저장됩니다. 이 코드는 이 객체에 대해 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를 통해 스트림 생성 메서드를 사용하여 스트림의 상태를 확인할 수 있습니다.