

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ストリームの一覧表示
<a name="kinesis-using-sdk-java-list-streams"></a>

ストリームの範囲は、Kinesis Data Streams クライアントのインスタンス化に使用される AWS 認証情報に関連付けられた AWS アカウントと、クライアントに指定されたリージョンに限定されます。 AWS アカウントを使用して多数のストリームを 1 度にアクティブにできます。ストリームは、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) メソッドを使用して、ストリームの状態を確認できます。