Skip to content

start_attached_file_upload

start_attached_file_upload(
    instance_id: InstanceId,
    file_name: FileName,
    file_size_in_bytes: FileSizeInBytes,
    file_use_case_type: FileUseCaseType,
    associated_resource_arn: ARN,
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    client_token: Optional[ClientToken] = None,
    url_expiry_in_seconds: Optional[URLExpiryInSeconds] = None,
    created_by: Optional[CreatedByInfo] = None,
    tags: Optional[TagMap] = None,
) -> StartAttachedFileUploadResponse

Provides a pre-signed Amazon S3 URL in response for uploading your content.

You may only use this API to upload attachments to a Connect Customer Case, Connect Customer Email, or Connect Customer Task.

Parameters:

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

  • instance_id (InstanceId) –

    The unique identifier of the Connect Customer instance.

  • file_name (FileName) –

    A case-sensitive name of the attached file being uploaded.

  • file_size_in_bytes (FileSizeInBytes) –

    The size of the attached file in bytes.

  • url_expiry_in_seconds (Optional[URLExpiryInSeconds], default: None ) –

    Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.

  • file_use_case_type (FileUseCaseType) –

    The use case for the file.

    Only ATTACHMENTS are supported.

  • associated_resource_arn (ARN) –

    The resource to which the attached file is (being) uploaded to. The supported resources are Cases, Email, and Task.

    This value must be a valid ARN.

  • created_by (Optional[CreatedByInfo], default: None ) –

    Represents the identity that created the file.

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

    The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

Raises:

Source code in docs_src/capo_connect/_services/connect.py
def start_attached_file_upload(
    self,
    instance_id: "capo_connect.types.instance_id.InstanceId",
    file_name: "capo_connect.types.file_name.FileName",
    file_size_in_bytes: "capo_connect.types.file_size_in_bytes.FileSizeInBytes",
    file_use_case_type: "capo_connect.types.file_use_case_type.FileUseCaseType",
    associated_resource_arn: "capo_connect.types.arn.ARN",
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    client_token: Optional["capo_connect.types.client_token.ClientToken"] = None,
    url_expiry_in_seconds: Optional[
        "capo_connect.types.url_expiry_in_seconds.URLExpiryInSeconds"
    ] = None,
    created_by: Optional["capo_connect.types.created_by_info.CreatedByInfo"] = None,
    tags: Optional["capo_connect.types.tag_map.TagMap"] = None,
) -> "capo_connect.types.start_attached_file_upload_response.StartAttachedFileUploadResponse":
    """<p>Provides a pre-signed Amazon S3 URL in response for uploading your content.</p> <important> <p>You may only use this API to upload attachments to a <a href="https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_CreateCase.html">Connect Customer Case</a>, <a href="https://docs.aws.amazon.com/connect/latest/adminguide/setup-email-channel.html">Connect Customer Email</a>, or <a href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-getting-started-tasks.html">Connect Customer Task</a>. </p> </important>

    Args:
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>
        instance_id: <p>The unique identifier of the Connect Customer instance.</p>
        file_name: <p>A case-sensitive name of the attached file being uploaded.</p>
        file_size_in_bytes: <p>The size of the attached file in bytes.</p>
        url_expiry_in_seconds: <p>Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.</p>
        file_use_case_type: <p>The use case for the file.</p> <important> <p> Only <code>ATTACHMENTS</code> are supported.</p> </important>
        associated_resource_arn: <p>The resource to which the attached file is (being) uploaded to. The supported resources are <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cases.html">Cases</a>, <a href="https://docs.aws.amazon.com/connect/latest/adminguide/setup-email-channel.html">Email</a>, and <a href="https://docs.aws.amazon.com/connect/latest/adminguide/concepts-getting-started-tasks.html">Task</a>.</p> <note> <p>This value must be a valid ARN.</p> </note>
        created_by: <p>Represents the identity that created the file.</p>
        tags: <p>The tags used to organize, track, or control access for this resource. For example, <code>{ "Tags": {"key1":"value1", "key2":"value2"} }</code>.</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</p>
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.resource_conflict_exception.ResourceConflictException: <p>A resource already has that name.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</p>
        capo_connect.errors.throttling_exception.ThrottlingException: <p>The throttling limit has been exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_connect.types.start_attached_file_upload_request.StartAttachedFileUploadRequest]",
    ) -> OperationResponse[
        "capo_connect.types.start_attached_file_upload_response.StartAttachedFileUploadResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.start_attached_file_upload

        output, http_response = (
            capo_connect._operations.amazon_connect_service.start_attached_file_upload.start_attached_file_upload(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartAttachedFileUpload")
    )
    input_: capo_connect.types.start_attached_file_upload_request.StartAttachedFileUploadRequest = {
        "instance_id": instance_id,
        "file_name": file_name,
        "file_size_in_bytes": file_size_in_bytes,
        "file_use_case_type": file_use_case_type,
        "associated_resource_arn": associated_resource_arn,
    }
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token
    if url_expiry_in_seconds is not None:
        input_["url_expiry_in_seconds"] = url_expiry_in_seconds
    if created_by is not None:
        input_["created_by"] = created_by
    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