コード例 #1
0
        /// <summary>
        /// Retrieve a list of the consumers for a Kinesis stream.
        /// </summary>
        /// <param name="client">An initialized Kinesis client object.</param>
        /// <param name="streamARN">The ARN of the stream for which we want to
        /// retrieve a list of clients.</param>
        /// <param name="maxResults">The maximum number of results to return.</param>
        /// <returns>A list of Consumer objects.</returns>
        public static async Task <List <Consumer> > ListConsumersAsync(IAmazonKinesis client, string streamARN, int maxResults)
        {
            var request = new ListStreamConsumersRequest
            {
                StreamARN  = streamARN,
                MaxResults = maxResults,
            };

            var response = await client.ListStreamConsumersAsync(request);

            return(response.Consumers);
        }
コード例 #2
0
        async IAsyncEnumerable <ListStreamConsumersResponse> IPaginator <ListStreamConsumersResponse> .PaginateAsync(CancellationToken cancellationToken = default)
        {
            if (Interlocked.Exchange(ref _isPaginatorInUse, 1) != 0)
            {
                throw new System.InvalidOperationException("Paginator has already been consumed and cannot be reused. Please create a new instance.");
            }
            var nextToken = _request.NextToken;
            ListStreamConsumersResponse response;

            do
            {
                _request.NextToken = nextToken;
                response           = await _client.ListStreamConsumersAsync(_request, cancellationToken).ConfigureAwait(false);

                nextToken = response.NextToken;
                cancellationToken.ThrowIfCancellationRequested();
                yield return(response);
            }while (nextToken != null);
        }
コード例 #3
0
 private Amazon.Kinesis.Model.ListStreamConsumersResponse CallAWSServiceOperation(IAmazonKinesis client, Amazon.Kinesis.Model.ListStreamConsumersRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Kinesis", "ListStreamConsumers");
     try
     {
         #if DESKTOP
         return(client.ListStreamConsumers(request));
         #elif CORECLR
         return(client.ListStreamConsumersAsync(request).GetAwaiter().GetResult());
         #else
                 #error "Unknown build edition"
         #endif
     }
     catch (AmazonServiceException exc)
     {
         var webException = exc.InnerException as System.Net.WebException;
         if (webException != null)
         {
             throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException);
         }
         throw;
     }
 }