Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Afficher la liste des flux
Les flux sont limités au AWS compte associé aux AWS informations d'identification utilisées pour instancier le client Kinesis Data Streams ainsi qu'à la région spécifiée pour le client. Un compte AWS peut avoir plusieurs flux actifs à la fois. Vous pouvez répertorier vos flux dans la console Kinesis Data Streams ou par programmation. Le code de cette section indique comment répertorier tous les streams de votre AWS compte.
ListStreamsRequest listStreamsRequest = new ListStreamsRequest(); listStreamsRequest.setLimit(20); ListStreamsResult listStreamsResult = client.listStreams(listStreamsRequest); List<String> streamNames = listStreamsResult.getStreamNames();
Cet exemple de code crée d'abord une nouvelle instance de ListStreamsRequest
et appelle sa méthode setLimit
pour spécifier que 20 flux au maximum doivent être renvoyés pour chaque appel de listStreams
. Si vous ne spécifiez pas de valeur pour setLimit
, Kinesis Data Streams renvoie un nombre de flux inférieur ou égal au nombre de flux présents dans le compte. Le code passe ensuite listStreamsRequest
à la méthode listStreams
du client. La valeur de retour listStreams
est stockée dans un objet ListStreamsResult
. Le code appelle la méthode getStreamNames
sur cet objet et stocke les noms de flux renvoyés dans la liste streamNames
. Notez que Kinesis Data Streams peut renvoyer un nombre de flux inférieur à celui qui est spécifié par la limite définie même si le compte et la région contiennent un nombre de flux supérieur. Pour être sûr d'extraire tous les flux, utilisez la méthode getHasMoreStreams
comme il est décrit dans l'exemple de code suivant.
while (listStreamsResult.getHasMoreStreams()) { if (streamNames.size() > 0) { listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1)); } listStreamsResult = client.listStreams(listStreamsRequest); streamNames.addAll(listStreamsResult.getStreamNames()); }
Ce code appelle la méthode getHasMoreStreams
sur listStreamsRequest
pour vérifier s'il y a des flux supplémentaires disponibles en plus de ceux qui ont été renvoyés dans l'appel initial de listStreams
. Si c'est le cas, le code appelle la méthode setExclusiveStartStreamName
en indiquant le nom du dernier flux qui a été renvoyé dans l'appel précédent de listStreams
. La méthode setExclusiveStartStreamName
fait que l'appel suivant de listStreams
démarre après ce flux. Le groupe de noms de flux renvoyé par cet appel est ensuite ajouté à la liste streamNames
. Ce processus continue jusqu'à ce que tous les noms de flux aient été recueillis dans la liste.
Les flux renvoyés par listStreams
peuvent avoir l'un des états suivants :
-
CREATING
-
ACTIVE
-
UPDATING
-
DELETING
Vous pouvez vérifier l'état d'un flux à l'aide de la méthode describeStream
, comme illustré dans la section précédente Créez un flux à l'aide du APIs.