Enables enhanced Kinesis data stream monitoring for shard-level metrics.
When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API.
Parameters:
Raises:
-
AccessDeniedException
–
Specifies that you do not have the permissions required to perform this operation.
-
InvalidArgumentException
–
A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.
-
LimitExceededException
–
The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.
-
ResourceInUseException
–
The resource is not available for this operation. For successful operation, the resource must be in the ACTIVE state.
-
ResourceNotFoundException
–
The requested resource could not be found. The stream might not be specified correctly.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_kinesis/_services/kinesis.py
| def enable_enhanced_monitoring(
self,
shard_level_metrics: "capo_kinesis.types.metrics_name_list.MetricsNameList",
*,
config_overrides: Optional[KinesisClientConfig] = None,
stream_name: Optional["capo_kinesis.types.stream_name.StreamName"] = None,
stream_arn: Optional["capo_kinesis.types.stream_arn.StreamARN"] = None,
stream_id: Optional["capo_kinesis.types.stream_id.StreamId"] = None,
) -> "capo_kinesis.types.enhanced_monitoring_output.EnhancedMonitoringOutput":
"""<p>Enables enhanced Kinesis data stream monitoring for shard-level metrics.</p> <note> <p>When invoking this API, you must use either the <code>StreamARN</code> or the <code>StreamName</code> parameter, or both. It is recommended that you use the <code>StreamARN</code> input parameter when you invoke this API.</p> </note>
Args:
stream_name: <p>The name of the stream for which to enable enhanced monitoring.</p>
shard_level_metrics: <p>List of shard-level metrics to enable.</p> <p>The following are the valid shard-level metrics. The value "<code>ALL</code>" enables every metric.</p> <ul> <li> <p> <code>IncomingBytes</code> </p> </li> <li> <p> <code>IncomingRecords</code> </p> </li> <li> <p> <code>OutgoingBytes</code> </p> </li> <li> <p> <code>OutgoingRecords</code> </p> </li> <li> <p> <code>WriteProvisionedThroughputExceeded</code> </p> </li> <li> <p> <code>ReadProvisionedThroughputExceeded</code> </p> </li> <li> <p> <code>IteratorAgeMilliseconds</code> </p> </li> <li> <p> <code>ALL</code> </p> </li> </ul> <p>For more information, see <a href="https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html">Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch</a> in the <i>Amazon Kinesis Data Streams Developer Guide</i>.</p>
stream_arn: <p>The ARN of the stream.</p>
stream_id: <p>Not Implemented. Reserved for future use.</p>
Raises:
capo_kinesis.errors.access_denied_exception.AccessDeniedException: <p>Specifies that you do not have the permissions required to perform this operation.</p>
capo_kinesis.errors.invalid_argument_exception.InvalidArgumentException: <p>A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.</p>
capo_kinesis.errors.limit_exceeded_exception.LimitExceededException: <p>The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. </p>
capo_kinesis.errors.resource_in_use_exception.ResourceInUseException: <p>The resource is not available for this operation. For successful operation, the resource must be in the <code>ACTIVE</code> state.</p>
capo_kinesis.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource could not be found. The stream might not be specified correctly.</p>
capo_kinesis.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_kinesis.types.enable_enhanced_monitoring_input.EnableEnhancedMonitoringInput]",
) -> OperationResponse[
"capo_kinesis.types.enhanced_monitoring_output.EnhancedMonitoringOutput"
]:
import capo_kinesis._operations.kinesis_20131202.enable_enhanced_monitoring
output, http_response = (
capo_kinesis._operations.kinesis_20131202.enable_enhanced_monitoring.enable_enhanced_monitoring(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("EnableEnhancedMonitoring")
)
input_: capo_kinesis.types.enable_enhanced_monitoring_input.EnableEnhancedMonitoringInput = {
"shard_level_metrics": shard_level_metrics
}
if stream_name is not None:
input_["stream_name"] = stream_name
if stream_arn is not None:
input_["stream_arn"] = stream_arn
if stream_id is not None:
input_["stream_id"] = stream_id
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|