Start uploading a file to Amazon Connect Agent Workspace
Provides a pre-signed Amazon S3 URL in response to upload a new attached file.
Signature
startAttachedFileUpload(data: NewAttachment): Promise<UploadableAttachment>
UploadableAttachment Properties
| Parameter | Type | Description | 
|---|---|---|
| associatedResourceArn | string | Amazon Connect ARN of the resource that the file is attached to. Could be a Connect Email Contact ARN or a Connect Case ARN | 
| fileId | string | ID in Connect's File record | 
| uploadUrl | string | A pre-signed S3 URL that should be used for uploading the attached file. | 
| uploadHeaders | Record<string, string> | A map of headers that should be provided in the request when uploading the attached file. | 
| uploadMethod | "PUT" | The upload request must be a PUT. | 
| fileStatus | FileStatus | The current status of the attached file. Supported values: "APPROVED", "REJECTED", "PROCESSING", "FAILED" | 
NewAttachment Properties
| Parameter | Type | Description | 
|---|---|---|
| associatedResourceArn | string | Amazon Connect ARN of the resource that the file is attached to. This could be a Connect Email Contact ARN or a Connect Case ARN | 
| fileName | string | A case-sensitive name of the attached file being uploaded. Minimum length of 1; Maximum length of 256. Supported pattern: ^\P{C}*$ | 
| fileSizeInBytes | number | The size of the attached file in bytes. Minimum value of 1. | 
| fileUseCaseType | "ATTACHMENT" | The use case for the file. Must be "ATTACHMENT" | 
Error Handling
When beginning the process to upload attached files, agents may encounter issues. The @amazon-connect/file library provides methods to handle common errors:
- 
                    isInvalidFileNameError(): Handle errors when the name of the file is not valid
- 
                    isInvalidFileTypeError(): Handle errors when the file type is not supported
- 
                    isInvalidFileSizeError(): Handle errors when the size of the file is invalid
- 
                    isTotalFileSizeExceededError(): Handle errors when the total size of all files (being uploaded) exceeds the limit.
- 
                    isTotalFileCountExceededError(): Handle errors when the total number of files (being uploaded) exceeds the limit.
Usage
import { isInvalidFileNameError, isInvalidFileTypeError, isInvalidFileSizeError, isTotalFileSizeExceededError, isTotalFileCountExceededError } from "@amazon-connect/file"; /* ... */ const newAttachment: NewAttachment = { associatedResourceArn: sampleAssociatedResourceArn, // This could be an email contact ARN or case ARN that you are uploading the attached file to fileName: sampleFileName, fileSizeInBytes: sampleFileSizeInBytes, fileUseCaseType: "ATTACHMENT" }; let uploadableAttachment: UploadableAttachment; try { uploadableAttachment = await fileClient.startAttachedFileUpload(newAttachment); } catch (e) { if (isInvalidFileNameError(e)) { // Handle InvalidFileName error } else if (isInvalidFileTypeError(e)) { // Handle InvalidFileType error } else if (isInvalidFileSizeError(e)) { // Handle InvalidFileSize error } else if (isTotalFileSizeExceededError(e)) { // Handle TotalFileSizeExceeded error } else if (isTotalFileCountExceededError(e)) { // Handle TotalFileCountExceeded error } } // Assuming startAttachedFileUpload succeeded, we upload the attached file to the pre-signed S3 URL const { uploadUrl, uploadHeaders, uploadMethod } = uploadableAttachment; await fetch(uploadUrl, { method: uploadMethod, headers: uploadHeaders, body: file, // This is the file you're uploading });