Skip to content

create_s3_table_integration

create_s3_table_integration(
    encryption: Encryption,
    role_arn: ResourceArn,
    *,
    config_overrides: Optional[ObservabilityAdminClientConfig] = None,
    tags: Optional[TagMapInput] = None,
) -> CreateS3TableIntegrationOutput

Creates an integration between CloudWatch and S3 Tables for analytics. This integration enables querying CloudWatch telemetry data using analytics engines like Amazon Athena, Amazon Redshift, and Apache Spark.

Parameters:

  • encryption (Encryption) –

    The encryption configuration for the S3 Table integration, including the encryption algorithm and KMS key settings.

  • role_arn (ResourceArn) –

    The Amazon Resource Name (ARN) of the IAM role that grants permissions for the S3 Table integration to access necessary resources.

  • tags (Optional[TagMapInput], default: None ) –

    The key-value pairs to associate with the S3 Table integration resource for categorization and management purposes.

Raises:

Source code in docs_src/capo_observabilityadmin/_services/observability_admin.py
def create_s3_table_integration(
    self,
    encryption: "capo_observabilityadmin.types.encryption.Encryption",
    role_arn: "capo_observabilityadmin.types.resource_arn.ResourceArn",
    *,
    config_overrides: Optional[ObservabilityAdminClientConfig] = None,
    tags: Optional[
        "capo_observabilityadmin.types.tag_map_input.TagMapInput"
    ] = None,
) -> "capo_observabilityadmin.types.create_s3_table_integration_output.CreateS3TableIntegrationOutput":
    """<p>Creates an integration between CloudWatch and S3 Tables for analytics. This integration enables querying CloudWatch telemetry data using analytics engines like Amazon Athena, Amazon Redshift, and Apache Spark.</p>

    Args:
        encryption: <p>The encryption configuration for the S3 Table integration, including the encryption algorithm and KMS key settings.</p>
        role_arn: <p>The Amazon Resource Name (ARN) of the IAM role that grants permissions for the S3 Table integration to access necessary resources.</p>
        tags: <p>The key-value pairs to associate with the S3 Table integration resource for categorization and management purposes.</p>

    Raises:
        capo_observabilityadmin.errors.access_denied_exception.AccessDeniedException: <p> Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html">Access management for Amazon Web Services resources</a> in the IAM user guide. </p>
        capo_observabilityadmin.errors.conflict_exception.ConflictException: <p> The requested operation conflicts with the current state of the specified resource or with another request. </p>
        capo_observabilityadmin.errors.internal_server_exception.InternalServerException: <p> Indicates the request has failed to process because of an unknown server error, exception, or failure. </p>
        capo_observabilityadmin.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The requested operation would exceed the allowed quota for the specified resource type. </p>
        capo_observabilityadmin.errors.too_many_requests_exception.TooManyRequestsException: <p> The request throughput limit was exceeded. </p>
        capo_observabilityadmin.errors.validation_exception.ValidationException: <p> Indicates input validation failed. Check your request parameters and retry the request. </p>
        capo_observabilityadmin.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_observabilityadmin.types.create_s3_table_integration_input.CreateS3TableIntegrationInput]",
    ) -> OperationResponse[
        "capo_observabilityadmin.types.create_s3_table_integration_output.CreateS3TableIntegrationOutput"
    ]:
        import capo_observabilityadmin._operations.observability_admin.create_s3_table_integration

        output, http_response = (
            capo_observabilityadmin._operations.observability_admin.create_s3_table_integration.create_s3_table_integration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateS3TableIntegration")
    )
    input_: capo_observabilityadmin.types.create_s3_table_integration_input.CreateS3TableIntegrationInput = {
        "encryption": encryption,
        "role_arn": role_arn,
    }
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output