Visualización de secuencias - Amazon Kinesis Data Streams

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.

Visualización de secuencias

Como se describe en la sección anterior, las transmisiones se limitan a la AWS cuenta asociada a AWS las credenciales utilizadas para instanciar el cliente de Kinesis Data Streams y también a la región especificada para el cliente. Una AWS cuenta puede tener varias transmisiones activas a la vez. 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 tu AWS cuenta.

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, Creación de un flujo a través de las API.