Auflisten von Streams - Amazon-Kinesis-Data-Streams

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Auflisten von Streams

Streams sind auf das AWS Konto beschränkt, das mit den AWS Anmeldeinformationen verknüpft ist, die zur Instanziierung des Kinesis Data Streams Streams-Clients verwendet wurden, sowie auf die für den Client angegebene Region. In einem AWS -Konto könnten viele Streams gleichzeitig aktiv sein. Sie können Ihre Streams in der Konsole von Kinesis Data Streams oder programmgesteuert auflisten. Der Code in diesem Abschnitt zeigt, wie Sie alle Streams für Ihr Konto auflisten. AWS

ListStreamsRequest listStreamsRequest = new ListStreamsRequest(); listStreamsRequest.setLimit(20); ListStreamsResult listStreamsResult = client.listStreams(listStreamsRequest); List<String> streamNames = listStreamsResult.getStreamNames();

In diesem Codebeispiel wird zuerst eine neue Instance von ListStreamsRequest erstellt und die zugehörige setLimit-Methode aufgerufen, um festzulegen, dass maximal 20-Streams für die einzelnen Aufrufe von listStreams zurückgegeben werden sollen. Wenn Sie keinen Wert für setLimit festlegen, gibt Kinesis Data Streams eine Anzahl von Streams kleiner oder gleich der Anzahl im Konto zurück. Der Code übergibt listStreamsRequest anschließend an die listStreams-Methode des Clients. Der Rückgabewert listStreams wird in einem ListStreamsResult-Objekt gespeichert. Der Code ruft die getStreamNames-Methode auf diesem Objekt auf und speichert den zurückgegebenen Stream-Namen in der Liste streamNames. Beachten Sie, dass Kinesis Data Streams möglicherweise weniger Streams zurückgibt als durch das angegebene Limit festgelegt, selbst wenn es mehr Streams als die im Konto und in der Region gibt. Um sicherzustellen, dass alle Streams abgerufen werden, verwenden Sie die getHasMoreStreams-Methode, wie im nächsten Codebeispiel beschrieben.

while (listStreamsResult.getHasMoreStreams()) { if (streamNames.size() > 0) { listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1)); } listStreamsResult = client.listStreams(listStreamsRequest); streamNames.addAll(listStreamsResult.getStreamNames()); }

Dieser Code ruft die getHasMoreStreams-Methode für listStreamsRequest auf, um zu überprüfen, ob zusätzlich zu den im ersten Aufruf von listStreams zurückgegebenen Streams weitere verfügbar sind. Wenn dies der Fall ist, ruft der Code die setExclusiveStartStreamName-Methode mit dem Namen des letzten Streams auf, der im vorherigen Aufruf von listStreams zurückgegeben wurde. Die setExclusiveStartStreamName-Methode bewirkt, dass der nächste Aufruf von listStreams nach diesem Stream beginnt. Die Gruppe der von diesem Aufruf zurückgegebenen Stream-Namen wird dann zur Liste streamNames hinzugefügt. Dieser Vorgang wird so lange fortgesetzt, bis alle Stream-Namen in der Liste erfasst wurden.

Die von listStreams zurückgegebenen Streams können einen der folgenden Status aufweisen:

  • CREATING

  • ACTIVE

  • UPDATING

  • DELETING

Sie können den Status eines Streams mit der describeStream-Methode überprüfen, wie im vorherigen Abschnitt Erstellen Sie einen Stream mit dem APIs dargestellt.