翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ストリームの一覧表示
ストリームの範囲は、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
で示した APIs を使用してストリームを作成する メソッドを使用して、ストリームの状態を確認できます。