Afficher la liste des flux - Amazon Kinesis Data Streams

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.