internal PutSubscriptionFilterResponse PutSubscriptionFilter(PutSubscriptionFilterRequest request) { var marshaller = new PutSubscriptionFilterRequestMarshaller(); var unmarshaller = PutSubscriptionFilterResponseUnmarshaller.Instance; return(Invoke <PutSubscriptionFilterRequest, PutSubscriptionFilterResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// Initiates the asynchronous execution of the PutSubscriptionFilter operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the PutSubscriptionFilter operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task <PutSubscriptionFilterResponse> PutSubscriptionFilterAsync(PutSubscriptionFilterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new PutSubscriptionFilterRequestMarshaller(); var unmarshaller = PutSubscriptionFilterResponseUnmarshaller.Instance; return(InvokeAsync <PutSubscriptionFilterRequest, PutSubscriptionFilterResponse>(request, marshaller, unmarshaller, cancellationToken)); }
private async Task UpsertSubscriptionFilter(PutSubscriptionFilterRequest request) { Console.WriteLine("Upserting Subscription Filter..."); var subscriptionFilters = await _cloudWatchLogs.DescribeSubscriptionFiltersAsync(new DescribeSubscriptionFiltersRequest { LogGroupName = request.LogGroupName }); var subscriptionFilter = subscriptionFilters.SubscriptionFilters.First(); if (subscriptionFilter.FilterName != request.FilterName || subscriptionFilter.FilterPattern != request.FilterPattern) { await Task.WhenAll(_cloudWatchLogs.DeleteSubscriptionFilterAsync(new DeleteSubscriptionFilterRequest { FilterName = subscriptionFilter.FilterName, LogGroupName = request.LogGroupName }), _cloudWatchLogs.PutSubscriptionFilterAsync(request)); } }
private async Task SubscribeLogGroup(string logGroup) { var request = new PutSubscriptionFilterRequest { DestinationArn = _kinesisArn, LogGroupName = logGroup, FilterName = _filterName, FilterPattern = _filterPattern, RoleArn = _roleArn, Distribution = "ByLogStream" }; try { await _cloudWatchLogs.PutSubscriptionFilterAsync(request); } catch (Exception ex) { Console.WriteLine($"Failed to Subscribe [{logGroup}]."); await Console.Error.WriteLineAsync(JsonConvert.SerializeObject(ex)); await UpsertSubscriptionFilter(request); } }