Skip to content

start_speaker_search_task

start_speaker_search_task(
    voice_connector_id: VoiceConnectorId,
    transaction_id: NonEmptyString256,
    voice_profile_domain_id: NonEmptyString256,
    *,
    config_overrides: Optional[ChimeSDKVoiceClientConfig] = None,
    client_request_token: Optional[ClientRequestId] = None,
    call_leg: Optional[CallLegType] = None,
) -> StartSpeakerSearchTaskResponse

Starts a speaker search task.

Before starting any speaker search tasks, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the AWS service terms for the Amazon Chime SDK.

Parameters:

  • voice_connector_id (VoiceConnectorId) –

    The Voice Connector ID.

  • transaction_id (NonEmptyString256) –

    The transaction ID of the call being analyzed.

  • voice_profile_domain_id (NonEmptyString256) –

    The ID of the voice profile domain that will store the voice profile.

  • client_request_token (Optional[ClientRequestId], default: None ) –

    The unique identifier for the client request. Use a different token for different speaker search tasks.

  • call_leg (Optional[CallLegType], default: None ) –

    Specifies which call leg to stream for speaker search.

Raises:

Source code in docs_src/capo_chime_sdk_voice/_services/chime_sdk_voice.py
def start_speaker_search_task(
    self,
    voice_connector_id: "capo_chime_sdk_voice.types.voice_connector_id.VoiceConnectorId",
    transaction_id: "capo_chime_sdk_voice.types.non_empty_string256.NonEmptyString256",
    voice_profile_domain_id: "capo_chime_sdk_voice.types.non_empty_string256.NonEmptyString256",
    *,
    config_overrides: Optional[ChimeSDKVoiceClientConfig] = None,
    client_request_token: Optional[
        "capo_chime_sdk_voice.types.client_request_id.ClientRequestId"
    ] = None,
    call_leg: Optional[
        "capo_chime_sdk_voice.types.call_leg_type.CallLegType"
    ] = None,
) -> "capo_chime_sdk_voice.types.start_speaker_search_task_response.StartSpeakerSearchTaskResponse":
    """<p>Starts a speaker search task.</p> <important> <p>Before starting any speaker search tasks, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the <a href="https://aws.amazon.com/service-terms/">AWS service terms</a> for the Amazon Chime SDK.</p> </important>

    Args:
        voice_connector_id: <p>The Voice Connector ID.</p>
        transaction_id: <p>The transaction ID of the call being analyzed.</p>
        voice_profile_domain_id: <p>The ID of the voice profile domain that will store the voice profile.</p>
        client_request_token: <p>The unique identifier for the client request. Use a different token for different speaker search tasks.</p>
        call_leg: <p>Specifies which call leg to stream for speaker search.</p>

    Raises:
        capo_chime_sdk_voice.errors.access_denied_exception.AccessDeniedException: <p>You don't have the permissions needed to run this action.</p>
        capo_chime_sdk_voice.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
        capo_chime_sdk_voice.errors.conflict_exception.ConflictException: <p>Multiple instances of the same request were made simultaneously.</p>
        capo_chime_sdk_voice.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
        capo_chime_sdk_voice.errors.gone_exception.GoneException: <p>Access to the target resource is no longer available at the origin server. This condition is likely to be permanent.</p>
        capo_chime_sdk_voice.errors.not_found_exception.NotFoundException: <p>The requested resource couldn't be found.</p>
        capo_chime_sdk_voice.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>The request exceeds the resource limit.</p>
        capo_chime_sdk_voice.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
        capo_chime_sdk_voice.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
        capo_chime_sdk_voice.errors.throttled_client_exception.ThrottledClientException: <p>The number of customer requests exceeds the request rate limit.</p>
        capo_chime_sdk_voice.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client isn't authorized to request a resource.</p>
        capo_chime_sdk_voice.errors.unprocessable_entity_exception.UnprocessableEntityException: <p>A well-formed request couldn't be followed due to semantic errors.</p>
        capo_chime_sdk_voice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_chime_sdk_voice.types.start_speaker_search_task_request.StartSpeakerSearchTaskRequest]",
    ) -> OperationResponse[
        "capo_chime_sdk_voice.types.start_speaker_search_task_response.StartSpeakerSearchTaskResponse"
    ]:
        import capo_chime_sdk_voice._operations.chime_sdk_telephony_service.start_speaker_search_task

        output, http_response = (
            capo_chime_sdk_voice._operations.chime_sdk_telephony_service.start_speaker_search_task.start_speaker_search_task(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartSpeakerSearchTask")
    )
    input_: capo_chime_sdk_voice.types.start_speaker_search_task_request.StartSpeakerSearchTaskRequest = {
        "voice_connector_id": voice_connector_id,
        "transaction_id": transaction_id,
        "voice_profile_domain_id": voice_profile_domain_id,
    }
    if client_request_token is not None:
        input_["client_request_token"] = client_request_token
    if call_leg is not None:
        input_["call_leg"] = call_leg

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