Skip to content

start_import async

start_import(
    payload: Blob,
    resource_type: ResourceType,
    merge_strategy: MergeStrategy,
    *,
    config_overrides: Optional[AsyncLexModelBuildingServiceClientConfig] = None,
    tags: Optional[TagList] = None,
) -> StartImportResponse

Starts a job to import a resource to Amazon Lex.

Parameters:

  • payload (Blob) –

    A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the resourceType field.

  • resource_type (ResourceType) –

    Specifies the type of resource to export. Each resource also exports any resources that it depends on.

    • A bot exports dependent intents.

    • An intent exports dependent slot types.

  • merge_strategy (MergeStrategy) –

    Specifies the action that the StartImport operation should take when there is an existing resource with the same name.

    • FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the failureReason field of the response to the GetImport operation.

      OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.

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

    A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.

Raises:

  • BadRequestException –

    The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.

  • InternalFailureException –

    An internal Amazon Lex error occurred. Try your request again.

  • LimitExceededException –

    The request exceeded a limit. Try your request again.

  • UnknownServiceError –

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

Source code in docs_src/capo_lex_model_building_service/_services/async_lex_model_building_service.py
async def start_import(
    self,
    payload: "capo_lex_model_building_service.types.blob.Blob",
    resource_type: "capo_lex_model_building_service.types.resource_type.ResourceType",
    merge_strategy: "capo_lex_model_building_service.types.merge_strategy.MergeStrategy",
    *,
    config_overrides: Optional[AsyncLexModelBuildingServiceClientConfig] = None,
    tags: Optional["capo_lex_model_building_service.types.tag_list.TagList"] = None,
) -> "capo_lex_model_building_service.types.start_import_response.StartImportResponse":
    """<p>Starts a job to import a resource to Amazon Lex.</p>

    Args:
        payload: <p>A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the <code>resourceType</code> field.</p>
        resource_type: <p>Specifies the type of resource to export. Each resource also exports any resources that it depends on. </p> <ul> <li> <p>A bot exports dependent intents.</p> </li> <li> <p>An intent exports dependent slot types.</p> </li> </ul>
        merge_strategy: <p>Specifies the action that the <code>StartImport</code> operation should take when there is an existing resource with the same name.</p> <ul> <li> <p>FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the <code>failureReason</code> field of the response to the <code>GetImport</code> operation.</p> <p>OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.</p> </li> </ul>
        tags: <p>A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.</p>

    Raises:
        capo_lex_model_building_service.errors.bad_request_exception.BadRequestException: <p>The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.</p>
        capo_lex_model_building_service.errors.internal_failure_exception.InternalFailureException: <p>An internal Amazon Lex error occurred. Try your request again.</p>
        capo_lex_model_building_service.errors.limit_exceeded_exception.LimitExceededException: <p>The request exceeded a limit. Try your request again.</p>
        capo_lex_model_building_service.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_lex_model_building_service.types.start_import_request.StartImportRequest]",
    ) -> AsyncOperationResponse[
        "capo_lex_model_building_service.types.start_import_response.StartImportResponse"
    ]:
        import capo_lex_model_building_service._operations.aws_deep_sense_model_building_service.start_import

        (
            output,
            http_response,
        ) = await capo_lex_model_building_service._operations.aws_deep_sense_model_building_service.start_import.async_start_import(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartImport")
    )
    input_: capo_lex_model_building_service.types.start_import_request.StartImportRequest = {
        "payload": payload,
        "resource_type": resource_type,
        "merge_strategy": merge_strategy,
    }
    if tags is not None:
        input_["tags"] = tags

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