As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Listar streams
Conforme descrito na seção anterior, os fluxos são delimitados pela conta da AWS associada às credenciais da AWS usadas para criar a instância do cliente do Kinesis Data Streams, e também pela região especificada para o cliente. Uma conta da AWS pode ter vários fluxos ativos ao mesmo tempo. Você pode listar os fluxos no console do Kinesis Data Streams ou de forma programática. O código nesta seção mostra como listar todos os fluxos em sua conta da AWS.
ListStreamsRequest listStreamsRequest = new ListStreamsRequest(); listStreamsRequest.setLimit(20); ListStreamsResult listStreamsResult = client.listStreams(listStreamsRequest); List<String> streamNames = listStreamsResult.getStreamNames();
Este exemplo de código primeiro cria uma nova instância de ListStreamsRequest
e chama seu método setLimit
para especificar que um máximo de 20 streams devem ser retornados para cada chamada a listStreams
. Se você não especificar um valor para setLimit
, o Kinesis Data Streams retornará um número de fluxos menor ou igual ao número na conta. Em seguida, o código passa listStreamsRequest
ao método listStreams
do cliente. O valor de retorno listStreams
é armazenado em um objeto ListStreamsResult
. O código chama o método getStreamNames
para esse objeto e armazena os nomes de stream retornados na lista streamNames
. Observe que o Kinesis Data Streams pode retornar menos fluxos do que o limite especificado, mesmo quando houver um número maior de fluxos na conta e na região. Para garantir que você recupere todos os streams, use o método getHasMoreStreams
como descrito no próximo exemplo de código.
while (listStreamsResult.getHasMoreStreams()) { if (streamNames.size() > 0) { listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1)); } listStreamsResult = client.listStreams(listStreamsRequest); streamNames.addAll(listStreamsResult.getStreamNames()); }
Esse código chama o método getHasMoreStreams
para listStreamsRequest
a fim de verificar se há streams adicionais disponíveis além dos que foram retornados na chamada inicial a listStreams
. Se houver, o código chamará o método setExclusiveStartStreamName
com o nome do último stream que foi retornado na chamada anterior a listStreams
. O método setExclusiveStartStreamName
faz com que a próxima chamada a listStreams
comece depois desse stream. Em seguida, o grupo de nomes de stream retornados pela chamada é adicionado à lista streamNames
. Esse processo continua até que todos os nomes de stream tenham sido coletados na lista.
Os streams retornados por listStreams
podem estar em um dos seguintes estados:
-
CREATING
-
ACTIVE
-
UPDATING
-
DELETING
Você pode verificar o estado de um stream usando o método describeStream
, como mostrado na seção anterior, Criar um fluxo usando as APIs.