Skip to content

describe_topic async

describe_topic(
    aws_account_id: AwsAccountId,
    topic_id: TopicId,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
) -> DescribeTopicResponse

Describes a topic.

Parameters:

  • aws_account_id (AwsAccountId) –

    The Amazon Web Services account ID.

  • topic_id (TopicId) –

    The ID of the topic that you want to describe. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.

Raises:

  • AccessDeniedException –

    You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.

  • InternalFailureException –

    An internal failure occurred.

  • InvalidParameterValueException –

    One or more parameters has a value that isn't valid.

  • ResourceNotFoundException –

    One or more resources can't be found.

  • ThrottlingException –

    Access is throttled.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def describe_topic(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    topic_id: "capo_quicksight.types.topic_id.TopicId",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
) -> "capo_quicksight.types.describe_topic_response.DescribeTopicResponse":
    """<p>Describes a topic.</p>

    Args:
        aws_account_id: <p>The Amazon Web Services account ID.</p>
        topic_id: <p>The ID of the topic that you want to describe. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>

    Raises:
        capo_quicksight.errors.access_denied_exception.AccessDeniedException: <p>You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.</p>
        capo_quicksight.errors.internal_failure_exception.InternalFailureException: <p>An internal failure occurred.</p>
        capo_quicksight.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameters has a value that isn't valid.</p>
        capo_quicksight.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_quicksight.errors.throttling_exception.ThrottlingException: <p>Access is throttled.</p>
        capo_quicksight.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_quicksight.types.describe_topic_request.DescribeTopicRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.describe_topic_response.DescribeTopicResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.describe_topic

        (
            output,
            http_response,
        ) = await capo_quicksight._operations.quick_sight_20180401.describe_topic.async_describe_topic(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_quicksight.types.describe_topic_response.DescribeTopicResponse",
    ) -> dict[str, Any]:
        import capo_quicksight.types.describe_topic_response

        return capo_quicksight.types.describe_topic_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("DescribeTopic", redact_output=_redact_output),
    )
    input_: capo_quicksight.types.describe_topic_request.DescribeTopicRequest = {
        "aws_account_id": aws_account_id,
        "topic_id": topic_id,
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output