listStreamConsumers method
Lists the consumers registered to receive data from a stream using enhanced fan-out, and provides information about each consumer.
This operation has a limit of 5 transactions per second per stream.
May throw ResourceNotFoundException. May throw InvalidArgumentException. May throw LimitExceededException. May throw ExpiredNextTokenException. May throw ResourceInUseException.
Parameter streamARN
:
The ARN of the Kinesis data stream for which you want to list the
registered consumers. For more information, see Amazon
Resource Names (ARNs) and AWS Service Namespaces.
Parameter maxResults
:
The maximum number of consumers that you want a single call of
ListStreamConsumers
to return.
Parameter nextToken
:
When the number of consumers that are registered with the data stream is
greater than the default value for the MaxResults
parameter,
or if you explicitly specify a value for MaxResults
that is
less than the number of consumers that are registered with the data
stream, the response includes a pagination token named
NextToken
. You can specify this NextToken
value
in a subsequent call to ListStreamConsumers
to list the next
set of registered consumers.
Don't specify StreamName
or
StreamCreationTimestamp
if you specify NextToken
because the latter unambiguously identifies the stream.
You can optionally specify a value for the MaxResults
parameter when you specify NextToken
. If you specify a
MaxResults
value that is less than the number of consumers
that the operation returns if you don't specify MaxResults
,
the response will contain a new NextToken
value. You can use
the new NextToken
value in a subsequent call to the
ListStreamConsumers
operation to list the next set of
consumers.
Parameter streamCreationTimestamp
:
Specify this input parameter to distinguish data streams that have the
same name. For example, if you create a data stream and then delete it,
and you later create another data stream with the same name, you can use
this input parameter to specify which of the two streams you want to list
the consumers for.
You can't specify this parameter if you specify the NextToken parameter.
Implementation
Future<ListStreamConsumersOutput> listStreamConsumers({
required String streamARN,
int? maxResults,
String? nextToken,
DateTime? streamCreationTimestamp,
}) async {
ArgumentError.checkNotNull(streamARN, 'streamARN');
_s.validateStringLength(
'streamARN',
streamARN,
1,
2048,
isRequired: true,
);
_s.validateNumRange(
'maxResults',
maxResults,
1,
10000,
);
_s.validateStringLength(
'nextToken',
nextToken,
1,
1048576,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Kinesis_20131202.ListStreamConsumers'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'StreamARN': streamARN,
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
if (streamCreationTimestamp != null)
'StreamCreationTimestamp':
unixTimestampToJson(streamCreationTimestamp),
},
);
return ListStreamConsumersOutput.fromJson(jsonResponse.body);
}