Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Lista de secuencias
Las transmisiones se limitan a la AWS cuenta asociada a las AWS credenciales utilizadas para instanciar el cliente de Kinesis Data Streams y también a la región especificada para el cliente. Una cuenta de AWS podría tener muchos flujos activos en un momento dado. Puede listar sus flujos en la consola de Kinesis Data Streams o mediante programación. El código de esta sección muestra cómo enumerar todas las transmisiones de su cuenta. AWS
ListStreamsRequest listStreamsRequest = new ListStreamsRequest(); listStreamsRequest.setLimit(20); ListStreamsResult listStreamsResult = client.listStreams(listStreamsRequest); List<String> streamNames = listStreamsResult.getStreamNames();
Este código de muestra crea primero una nueva instancia de ListStreamsRequest
y llama a su método setLimit
para especificar que se debería devolver un máximo de 20 secuencias por cada llamada a listStreams
. Si no especifica un valor para setLimit
, Kinesis Data Streams devuelve un número de flujos menor o igual que el número de la cuenta. A continuación, el código pasa listStreamsRequest
al método listStreams
del cliente. El valor listStreams
devuelto se almacena en un objeto ListStreamsResult
. El código llama al método getStreamNames
en este objeto y almacena los nombres de secuencia devueltos en la lista streamNames
. Tenga en cuenta que Kinesis Data Streams podría devolver menos flujos de los especificados en el límite establecido, incluso si hay más flujos que en la cuenta y región. Para garantizar que pueda recuperar todas las secuencias, utilice el método getHasMoreStreams
tal y como se describe en el siguiente código de muestra.
while (listStreamsResult.getHasMoreStreams()) { if (streamNames.size() > 0) { listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1)); } listStreamsResult = client.listStreams(listStreamsRequest); streamNames.addAll(listStreamsResult.getStreamNames()); }
Este código llama al método getHasMoreStreams
en listStreamsRequest
para comprobar si hay secuencias adicionales disponibles más allá de las que se devuelven en la llamada inicial a listStreams
. En caso afirmativo, el código llama al método setExclusiveStartStreamName
con el nombre de la última secuencia que se devolviera en la llamada anterior a listStreams
. El método setExclusiveStartStreamName
hace que la siguiente llamada a listStreams
se inicie después de dicha secuencia. El grupo de nombres de secuencia que devuelve esa secuencia se añade a la lista streamNames
. Este proceso continúa hasta que todos los nombres de secuencia se han recopilado en la lista.
Las secuencias que devuelve listStreams
pueden estar en uno de los siguientes estados:
-
CREATING
-
ACTIVE
-
UPDATING
-
DELETING
Puede comprobar el estado de una secuencia mediante el método describeStream
, tal y como se muestra en la sección anterior, Crear una transmisión con la APIs.