Class AWSLogsAsyncClient

All Implemented Interfaces:
AWSLogs, AWSLogsAsync

@ThreadSafe public class AWSLogsAsyncClient extends AWSLogsClient implements AWSLogsAsync
Interface for accessing Amazon CloudWatch Logs asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an AsyncHandler can be used to receive notification when an asynchronous operation completes.

Amazon CloudWatch Logs API Reference

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from Amazon Elastic Compute Cloud (Amazon EC2) instances, Amazon CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the Amazon CloudWatch console, the CloudWatch Logs commands in the AWS CLI, the CloudWatch Logs API, or the CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor Logs from Amazon EC2 Instances in Real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold you specify. CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException") or count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a Amazon CloudWatch metric that you specify.

  • Monitor Amazon CloudTrail Logged Events: You can create alarms in Amazon CloudWatch and receive notifications of particular API activity as captured by CloudTrail and use the notification to perform troubleshooting.

  • Archive Log Data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

  • Constructor Details

    • AWSLogsAsyncClient

      public AWSLogsAsyncClient()
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs. A credentials provider chain will be used that searches for credentials in this order:
      • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
      • Java System Properties - aws.accessKeyId and aws.secretKey
      • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
      • Instance profile credentials delivered through the Amazon EC2 metadata service

      Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

      See Also:
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(ClientConfiguration clientConfiguration)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs. A credentials provider chain will be used that searches for credentials in this order:
      • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
      • Java System Properties - aws.accessKeyId and aws.secretKey
      • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
      • Instance profile credentials delivered through the Amazon EC2 metadata service

      Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

      Parameters:
      clientConfiguration - The client configuration options controlling how this client connects to Amazon CloudWatch Logs (ex: proxy settings, retry counts, etc).
      See Also:
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentials awsCredentials)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the specified AWS account credentials.

      Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

      Parameters:
      awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      See Also:
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the specified AWS account credentials and executor service. Default client settings will be used.
      Parameters:
      awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      executorService - The executor service by which all asynchronous requests will be executed.
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the specified AWS account credentials, executor service, and client configuration options.
      Parameters:
      awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
      executorService - The executor service by which all asynchronous requests will be executed.
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentialsProvider awsCredentialsProvider)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the specified AWS account credentials provider. Default client settings will be used.

      Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      See Also:
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the provided AWS account credentials provider and client configuration options.

      Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
      See Also:
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the specified AWS account credentials provider and executor service. Default client settings will be used.
      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      executorService - The executor service by which all asynchronous requests will be executed.
    • AWSLogsAsyncClient

      public AWSLogsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on Amazon CloudWatch Logs using the specified AWS account credentials provider, executor service, and client configuration options.
      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
      executorService - The executor service by which all asynchronous requests will be executed.
  • Method Details

    • getExecutorService

      public ExecutorService getExecutorService()
      Returns the executor service used by this client to execute async requests.
      Returns:
      The executor service used by this client to execute async requests.
    • cancelExportTaskAsync

      public Future<CancelExportTaskResult> cancelExportTaskAsync(CancelExportTaskRequest request)
      Description copied from interface: AWSLogsAsync

      Cancels an export task if it is in PENDING or RUNNING state.

      Specified by:
      cancelExportTaskAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the CancelExportTask operation returned by the service.
    • cancelExportTaskAsync

      Description copied from interface: AWSLogsAsync

      Cancels an export task if it is in PENDING or RUNNING state.

      Specified by:
      cancelExportTaskAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the CancelExportTask operation returned by the service.
    • createExportTaskAsync

      public Future<CreateExportTaskResult> createExportTaskAsync(CreateExportTaskRequest request)
      Description copied from interface: AWSLogsAsync

      Creates an ExportTask which allows you to efficiently export data from a Log Group to your Amazon S3 bucket.

      This is an asynchronous call. If all the required information is provided, this API will initiate an export task and respond with the task Id. Once started, DescribeExportTasks can be used to get the status of an export task. You can only have one active ( RUNNING or PENDING) export task at a time, per account.

      You can export logs from multiple log groups or multiple time ranges to the same Amazon S3 bucket. To separate out log data for each export task, you can specify a prefix that will be used as the Amazon S3 key prefix for all exported objects.

      Specified by:
      createExportTaskAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the CreateExportTask operation returned by the service.
    • createExportTaskAsync

      Description copied from interface: AWSLogsAsync

      Creates an ExportTask which allows you to efficiently export data from a Log Group to your Amazon S3 bucket.

      This is an asynchronous call. If all the required information is provided, this API will initiate an export task and respond with the task Id. Once started, DescribeExportTasks can be used to get the status of an export task. You can only have one active ( RUNNING or PENDING) export task at a time, per account.

      You can export logs from multiple log groups or multiple time ranges to the same Amazon S3 bucket. To separate out log data for each export task, you can specify a prefix that will be used as the Amazon S3 key prefix for all exported objects.

      Specified by:
      createExportTaskAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the CreateExportTask operation returned by the service.
    • createLogGroupAsync

      public Future<CreateLogGroupResult> createLogGroupAsync(CreateLogGroupRequest request)
      Description copied from interface: AWSLogsAsync

      Creates a new log group with the specified name. The name of the log group must be unique within a region for an AWS account. You can create up to 500 log groups per account.

      You must use the following guidelines when naming a log group:

      • Log group names can be between 1 and 512 characters long.
      • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

      Specified by:
      createLogGroupAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the CreateLogGroup operation returned by the service.
    • createLogGroupAsync

      Description copied from interface: AWSLogsAsync

      Creates a new log group with the specified name. The name of the log group must be unique within a region for an AWS account. You can create up to 500 log groups per account.

      You must use the following guidelines when naming a log group:

      • Log group names can be between 1 and 512 characters long.
      • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

      Specified by:
      createLogGroupAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the CreateLogGroup operation returned by the service.
    • createLogStreamAsync

      public Future<CreateLogStreamResult> createLogStreamAsync(CreateLogStreamRequest request)
      Description copied from interface: AWSLogsAsync

      Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group.

      You must use the following guidelines when naming a log stream:

      • Log stream names can be between 1 and 512 characters long.
      • The ':' colon character is not allowed.

      Specified by:
      createLogStreamAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the CreateLogStream operation returned by the service.
    • createLogStreamAsync

      Description copied from interface: AWSLogsAsync

      Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group.

      You must use the following guidelines when naming a log stream:

      • Log stream names can be between 1 and 512 characters long.
      • The ':' colon character is not allowed.

      Specified by:
      createLogStreamAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the CreateLogStream operation returned by the service.
    • deleteDestinationAsync

      public Future<DeleteDestinationResult> deleteDestinationAsync(DeleteDestinationRequest request)
      Description copied from interface: AWSLogsAsync

      Deletes the destination with the specified name and eventually disables all the subscription filters that publish to it. This will not delete the physical resource encapsulated by the destination.

      Specified by:
      deleteDestinationAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DeleteDestination operation returned by the service.
    • deleteDestinationAsync

      Description copied from interface: AWSLogsAsync

      Deletes the destination with the specified name and eventually disables all the subscription filters that publish to it. This will not delete the physical resource encapsulated by the destination.

      Specified by:
      deleteDestinationAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DeleteDestination operation returned by the service.
    • deleteLogGroupAsync

      public Future<DeleteLogGroupResult> deleteLogGroupAsync(DeleteLogGroupRequest request)
      Description copied from interface: AWSLogsAsync

      Deletes the log group with the specified name and permanently deletes all the archived log events associated with it.

      Specified by:
      deleteLogGroupAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DeleteLogGroup operation returned by the service.
    • deleteLogGroupAsync

      Description copied from interface: AWSLogsAsync

      Deletes the log group with the specified name and permanently deletes all the archived log events associated with it.

      Specified by:
      deleteLogGroupAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DeleteLogGroup operation returned by the service.
    • deleteLogStreamAsync

      public Future<DeleteLogStreamResult> deleteLogStreamAsync(DeleteLogStreamRequest request)
      Description copied from interface: AWSLogsAsync

      Deletes a log stream and permanently deletes all the archived log events associated with it.

      Specified by:
      deleteLogStreamAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DeleteLogStream operation returned by the service.
    • deleteLogStreamAsync

      Description copied from interface: AWSLogsAsync

      Deletes a log stream and permanently deletes all the archived log events associated with it.

      Specified by:
      deleteLogStreamAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DeleteLogStream operation returned by the service.
    • deleteMetricFilterAsync

      public Future<DeleteMetricFilterResult> deleteMetricFilterAsync(DeleteMetricFilterRequest request)
      Description copied from interface: AWSLogsAsync

      Deletes a metric filter associated with the specified log group.

      Specified by:
      deleteMetricFilterAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DeleteMetricFilter operation returned by the service.
    • deleteMetricFilterAsync

      Description copied from interface: AWSLogsAsync

      Deletes a metric filter associated with the specified log group.

      Specified by:
      deleteMetricFilterAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DeleteMetricFilter operation returned by the service.
    • deleteRetentionPolicyAsync

      public Future<DeleteRetentionPolicyResult> deleteRetentionPolicyAsync(DeleteRetentionPolicyRequest request)
      Description copied from interface: AWSLogsAsync

      Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy.

      Specified by:
      deleteRetentionPolicyAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DeleteRetentionPolicy operation returned by the service.
    • deleteRetentionPolicyAsync

      Description copied from interface: AWSLogsAsync

      Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy.

      Specified by:
      deleteRetentionPolicyAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DeleteRetentionPolicy operation returned by the service.
    • deleteSubscriptionFilterAsync

      public Future<DeleteSubscriptionFilterResult> deleteSubscriptionFilterAsync(DeleteSubscriptionFilterRequest request)
      Description copied from interface: AWSLogsAsync

      Deletes a subscription filter associated with the specified log group.

      Specified by:
      deleteSubscriptionFilterAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DeleteSubscriptionFilter operation returned by the service.
    • deleteSubscriptionFilterAsync

      Description copied from interface: AWSLogsAsync

      Deletes a subscription filter associated with the specified log group.

      Specified by:
      deleteSubscriptionFilterAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DeleteSubscriptionFilter operation returned by the service.
    • describeDestinationsAsync

      public Future<DescribeDestinationsResult> describeDestinationsAsync(DescribeDestinationsRequest request)
      Description copied from interface: AWSLogsAsync

      Returns all the destinations that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by destination name.

      By default, this operation returns up to 50 destinations. If there are more destinations to list, the response would contain a nextToken value in the response body. You can also limit the number of destinations returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeDestinationsAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DescribeDestinations operation returned by the service.
    • describeDestinationsAsync

      Description copied from interface: AWSLogsAsync

      Returns all the destinations that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by destination name.

      By default, this operation returns up to 50 destinations. If there are more destinations to list, the response would contain a nextToken value in the response body. You can also limit the number of destinations returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeDestinationsAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DescribeDestinations operation returned by the service.
    • describeDestinationsAsync

      public Future<DescribeDestinationsResult> describeDestinationsAsync()
      Simplified method form for invoking the DescribeDestinations operation.
      Specified by:
      describeDestinationsAsync in interface AWSLogsAsync
      See Also:
    • describeDestinationsAsync

      Simplified method form for invoking the DescribeDestinations operation with an AsyncHandler.
      Specified by:
      describeDestinationsAsync in interface AWSLogsAsync
      See Also:
    • describeExportTasksAsync

      public Future<DescribeExportTasksResult> describeExportTasksAsync(DescribeExportTasksRequest request)
      Description copied from interface: AWSLogsAsync

      Returns all the export tasks that are associated with the AWS account making the request. The export tasks can be filtered based on TaskId or TaskStatus.

      By default, this operation returns up to 50 export tasks that satisfy the specified filters. If there are more export tasks to list, the response would contain a nextToken value in the response body. You can also limit the number of export tasks returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeExportTasksAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DescribeExportTasks operation returned by the service.
    • describeExportTasksAsync

      Description copied from interface: AWSLogsAsync

      Returns all the export tasks that are associated with the AWS account making the request. The export tasks can be filtered based on TaskId or TaskStatus.

      By default, this operation returns up to 50 export tasks that satisfy the specified filters. If there are more export tasks to list, the response would contain a nextToken value in the response body. You can also limit the number of export tasks returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeExportTasksAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DescribeExportTasks operation returned by the service.
    • describeLogGroupsAsync

      public Future<DescribeLogGroupsResult> describeLogGroupsAsync(DescribeLogGroupsRequest request)
      Description copied from interface: AWSLogsAsync

      Returns all the log groups that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by log group name.

      By default, this operation returns up to 50 log groups. If there are more log groups to list, the response would contain a nextToken value in the response body. You can also limit the number of log groups returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeLogGroupsAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DescribeLogGroups operation returned by the service.
    • describeLogGroupsAsync

      Description copied from interface: AWSLogsAsync

      Returns all the log groups that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by log group name.

      By default, this operation returns up to 50 log groups. If there are more log groups to list, the response would contain a nextToken value in the response body. You can also limit the number of log groups returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeLogGroupsAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DescribeLogGroups operation returned by the service.
    • describeLogGroupsAsync

      public Future<DescribeLogGroupsResult> describeLogGroupsAsync()
      Simplified method form for invoking the DescribeLogGroups operation.
      Specified by:
      describeLogGroupsAsync in interface AWSLogsAsync
      See Also:
    • describeLogGroupsAsync

      Simplified method form for invoking the DescribeLogGroups operation with an AsyncHandler.
      Specified by:
      describeLogGroupsAsync in interface AWSLogsAsync
      See Also:
    • describeLogStreamsAsync

      public Future<DescribeLogStreamsResult> describeLogStreamsAsync(DescribeLogStreamsRequest request)
      Description copied from interface: AWSLogsAsync

      Returns all the log streams that are associated with the specified log group. The list returned in the response is ASCII-sorted by log stream name.

      By default, this operation returns up to 50 log streams. If there are more log streams to list, the response would contain a nextToken value in the response body. You can also limit the number of log streams returned in the response by specifying the limit parameter in the request. This operation has a limit of five transactions per second, after which transactions are throttled.

      Specified by:
      describeLogStreamsAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DescribeLogStreams operation returned by the service.
    • describeLogStreamsAsync

      Description copied from interface: AWSLogsAsync

      Returns all the log streams that are associated with the specified log group. The list returned in the response is ASCII-sorted by log stream name.

      By default, this operation returns up to 50 log streams. If there are more log streams to list, the response would contain a nextToken value in the response body. You can also limit the number of log streams returned in the response by specifying the limit parameter in the request. This operation has a limit of five transactions per second, after which transactions are throttled.

      Specified by:
      describeLogStreamsAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DescribeLogStreams operation returned by the service.
    • describeMetricFiltersAsync

      public Future<DescribeMetricFiltersResult> describeMetricFiltersAsync(DescribeMetricFiltersRequest request)
      Description copied from interface: AWSLogsAsync

      Returns all the metrics filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

      By default, this operation returns up to 50 metric filters. If there are more metric filters to list, the response would contain a nextToken value in the response body. You can also limit the number of metric filters returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeMetricFiltersAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DescribeMetricFilters operation returned by the service.
    • describeMetricFiltersAsync

      Description copied from interface: AWSLogsAsync

      Returns all the metrics filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

      By default, this operation returns up to 50 metric filters. If there are more metric filters to list, the response would contain a nextToken value in the response body. You can also limit the number of metric filters returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeMetricFiltersAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DescribeMetricFilters operation returned by the service.
    • describeSubscriptionFiltersAsync

      public Future<DescribeSubscriptionFiltersResult> describeSubscriptionFiltersAsync(DescribeSubscriptionFiltersRequest request)
      Description copied from interface: AWSLogsAsync

      Returns all the subscription filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

      By default, this operation returns up to 50 subscription filters. If there are more subscription filters to list, the response would contain a nextToken value in the response body. You can also limit the number of subscription filters returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeSubscriptionFiltersAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the DescribeSubscriptionFilters operation returned by the service.
    • describeSubscriptionFiltersAsync

      Description copied from interface: AWSLogsAsync

      Returns all the subscription filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

      By default, this operation returns up to 50 subscription filters. If there are more subscription filters to list, the response would contain a nextToken value in the response body. You can also limit the number of subscription filters returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeSubscriptionFiltersAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the DescribeSubscriptionFilters operation returned by the service.
    • filterLogEventsAsync

      public Future<FilterLogEventsResult> filterLogEventsAsync(FilterLogEventsRequest request)
      Description copied from interface: AWSLogsAsync

      Retrieves log events, optionally filtered by a filter pattern from the specified log group. You can provide an optional time range to filter the results on the event timestamp. You can limit the streams searched to an explicit list of logStreamNames.

      By default, this operation returns as much matching log events as can fit in a response size of 1MB, up to 10,000 log events, or all the events found within a time-bounded scan window. If the response includes a nextToken, then there is more data to search, and the search can be resumed with a new request providing the nextToken. The response will contain a list of searchedLogStreams that contains information about which streams were searched in the request and whether they have been searched completely or require further pagination. The limit parameter in the request. can be used to specify the maximum number of events to return in a page.

      Specified by:
      filterLogEventsAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the FilterLogEvents operation returned by the service.
    • filterLogEventsAsync

      Description copied from interface: AWSLogsAsync

      Retrieves log events, optionally filtered by a filter pattern from the specified log group. You can provide an optional time range to filter the results on the event timestamp. You can limit the streams searched to an explicit list of logStreamNames.

      By default, this operation returns as much matching log events as can fit in a response size of 1MB, up to 10,000 log events, or all the events found within a time-bounded scan window. If the response includes a nextToken, then there is more data to search, and the search can be resumed with a new request providing the nextToken. The response will contain a list of searchedLogStreams that contains information about which streams were searched in the request and whether they have been searched completely or require further pagination. The limit parameter in the request. can be used to specify the maximum number of events to return in a page.

      Specified by:
      filterLogEventsAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the FilterLogEvents operation returned by the service.
    • getLogEventsAsync

      public Future<GetLogEventsResult> getLogEventsAsync(GetLogEventsRequest request)
      Description copied from interface: AWSLogsAsync

      Retrieves log events from the specified log stream. You can provide an optional time range to filter the results on the event timestamp.

      By default, this operation returns as much log events as can fit in a response size of 1MB, up to 10,000 log events. The response will always include a nextForwardToken and a nextBackwardToken in the response body. You can use any of these tokens in subsequent GetLogEvents requests to paginate through events in either forward or backward direction. You can also limit the number of log events returned in the response by specifying the limit parameter in the request.

      Specified by:
      getLogEventsAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the GetLogEvents operation returned by the service.
    • getLogEventsAsync

      Description copied from interface: AWSLogsAsync

      Retrieves log events from the specified log stream. You can provide an optional time range to filter the results on the event timestamp.

      By default, this operation returns as much log events as can fit in a response size of 1MB, up to 10,000 log events. The response will always include a nextForwardToken and a nextBackwardToken in the response body. You can use any of these tokens in subsequent GetLogEvents requests to paginate through events in either forward or backward direction. You can also limit the number of log events returned in the response by specifying the limit parameter in the request.

      Specified by:
      getLogEventsAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the GetLogEvents operation returned by the service.
    • putDestinationAsync

      public Future<PutDestinationResult> putDestinationAsync(PutDestinationRequest request)
      Description copied from interface: AWSLogsAsync

      Creates or updates a Destination. A destination encapsulates a physical resource (such as a Kinesis stream) and allows you to subscribe to a real-time stream of log events of a different account, ingested through PutLogEvents requests. Currently, the only supported physical resource is a Amazon Kinesis stream belonging to the same account as the destination.

      A destination controls what is written to its Amazon Kinesis stream through an access policy. By default, PutDestination does not set any access policy with the destination, which means a cross-account user will not be able to call PutSubscriptionFilter against this destination. To enable that, the destination owner must call PutDestinationPolicy after PutDestination.

      Specified by:
      putDestinationAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the PutDestination operation returned by the service.
    • putDestinationAsync

      Description copied from interface: AWSLogsAsync

      Creates or updates a Destination. A destination encapsulates a physical resource (such as a Kinesis stream) and allows you to subscribe to a real-time stream of log events of a different account, ingested through PutLogEvents requests. Currently, the only supported physical resource is a Amazon Kinesis stream belonging to the same account as the destination.

      A destination controls what is written to its Amazon Kinesis stream through an access policy. By default, PutDestination does not set any access policy with the destination, which means a cross-account user will not be able to call PutSubscriptionFilter against this destination. To enable that, the destination owner must call PutDestinationPolicy after PutDestination.

      Specified by:
      putDestinationAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the PutDestination operation returned by the service.
    • putDestinationPolicyAsync

      public Future<PutDestinationPolicyResult> putDestinationPolicyAsync(PutDestinationPolicyRequest request)
      Description copied from interface: AWSLogsAsync

      Creates or updates an access policy associated with an existing Destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

      Specified by:
      putDestinationPolicyAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the PutDestinationPolicy operation returned by the service.
    • putDestinationPolicyAsync

      Description copied from interface: AWSLogsAsync

      Creates or updates an access policy associated with an existing Destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

      Specified by:
      putDestinationPolicyAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the PutDestinationPolicy operation returned by the service.
    • putLogEventsAsync

      public Future<PutLogEventsResult> putLogEventsAsync(PutLogEventsRequest request)
      Description copied from interface: AWSLogsAsync

      Uploads a batch of log events to the specified log stream.

      Every PutLogEvents request must include the sequenceToken obtained from the response of the previous request. An upload in a newly created log stream does not require a sequenceToken.

      The batch of events must satisfy the following constraints:

      • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.
      • None of the log events in the batch can be more than 2 hours in the future.
      • None of the log events in the batch can be older than 14 days or the retention period of the log group.
      • The log events in the batch must be in chronological ordered by their timestamp.
      • The maximum number of log events in a batch is 10,000.
      • A batch of log events in a single PutLogEvents request cannot span more than 24 hours. Otherwise, the PutLogEvents operation will fail.

      Specified by:
      putLogEventsAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the PutLogEvents operation returned by the service.
    • putLogEventsAsync

      Description copied from interface: AWSLogsAsync

      Uploads a batch of log events to the specified log stream.

      Every PutLogEvents request must include the sequenceToken obtained from the response of the previous request. An upload in a newly created log stream does not require a sequenceToken.

      The batch of events must satisfy the following constraints:

      • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.
      • None of the log events in the batch can be more than 2 hours in the future.
      • None of the log events in the batch can be older than 14 days or the retention period of the log group.
      • The log events in the batch must be in chronological ordered by their timestamp.
      • The maximum number of log events in a batch is 10,000.
      • A batch of log events in a single PutLogEvents request cannot span more than 24 hours. Otherwise, the PutLogEvents operation will fail.

      Specified by:
      putLogEventsAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the PutLogEvents operation returned by the service.
    • putMetricFilterAsync

      public Future<PutMetricFilterResult> putMetricFilterAsync(PutMetricFilterRequest request)
      Description copied from interface: AWSLogsAsync

      Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents requests.

      The maximum number of metric filters that can be associated with a log group is 100.

      Specified by:
      putMetricFilterAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the PutMetricFilter operation returned by the service.
    • putMetricFilterAsync

      Description copied from interface: AWSLogsAsync

      Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents requests.

      The maximum number of metric filters that can be associated with a log group is 100.

      Specified by:
      putMetricFilterAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the PutMetricFilter operation returned by the service.
    • putRetentionPolicyAsync

      public Future<PutRetentionPolicyResult> putRetentionPolicyAsync(PutRetentionPolicyRequest request)
      Description copied from interface: AWSLogsAsync

      Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group.

      Specified by:
      putRetentionPolicyAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the PutRetentionPolicy operation returned by the service.
    • putRetentionPolicyAsync

      Description copied from interface: AWSLogsAsync

      Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group.

      Specified by:
      putRetentionPolicyAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the PutRetentionPolicy operation returned by the service.
    • putSubscriptionFilterAsync

      public Future<PutSubscriptionFilterResult> putSubscriptionFilterAsync(PutSubscriptionFilterRequest request)
      Description copied from interface: AWSLogsAsync

      Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents requests and have them delivered to a specific destination. Currently, the supported destinations are:

      • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.
      • A logical destination (used via an ARN of Destination) belonging to a different account, for cross-account delivery.
      • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.
      • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

      Currently there can only be one subscription filter associated with a log group.

      Specified by:
      putSubscriptionFilterAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the PutSubscriptionFilter operation returned by the service.
    • putSubscriptionFilterAsync

      Description copied from interface: AWSLogsAsync

      Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents requests and have them delivered to a specific destination. Currently, the supported destinations are:

      • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.
      • A logical destination (used via an ARN of Destination) belonging to a different account, for cross-account delivery.
      • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.
      • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

      Currently there can only be one subscription filter associated with a log group.

      Specified by:
      putSubscriptionFilterAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the PutSubscriptionFilter operation returned by the service.
    • testMetricFilterAsync

      public Future<TestMetricFilterResult> testMetricFilterAsync(TestMetricFilterRequest request)
      Description copied from interface: AWSLogsAsync

      Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.

      Specified by:
      testMetricFilterAsync in interface AWSLogsAsync
      Returns:
      A Java Future containing the result of the TestMetricFilter operation returned by the service.
    • testMetricFilterAsync

      Description copied from interface: AWSLogsAsync

      Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.

      Specified by:
      testMetricFilterAsync in interface AWSLogsAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the TestMetricFilter operation returned by the service.
    • shutdown

      public void shutdown()
      Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call getExecutorService().shutdown() followed by getExecutorService().awaitTermination() prior to calling this method.
      Specified by:
      shutdown in interface AWSLogs
      Overrides:
      shutdown in class AmazonWebServiceClient