Class FileTransferConfig

Properties

enabled: boolean = ...

Whether file transfer is enabled.

false

FILE_TRANSFER_ENABLED

globalMaximumSimultaneousFiles: number = ...

The maximum amount of files that can be uploaded simultaneously globally.

25

FILE_TRANSFER_GLOBAL_MAXIMUM_SIMULTANEOUS_FILES

maxSizeInMB: number = ...

The maximum size of a file in MB.

10000

FILE_TRANSFER_MAX_SIZE_MB

s3AccessKeyId: string = ...

The access key ID of the S3-compatible storage.

'accessKeyId'

FILE_TRANSFER_S3_ACCESS_KEY_ID

s3Bucket: string = ...

The bucket of the S3-compatible storage.

Note: We recommend using a bucket with a lifecycle policy that deletes files after a certain time. This way, you can ensure that files are deleted, even if the app fails to do so.

'bucket'

FILE_TRANSFER_S3_BUCKET

s3Endpoint: string = ...

The endpoint of the S3-compatible storage.

'http://localhost:9000'

FILE_TRANSFER_S3_ENDPOINT

s3ForcePathStyle: boolean = ...

Whether to force path style URLs.

false

FILE_TRANSFER_S3_FORCE_PATH_STYLE

s3PublicEndpoint: string = ...

The public endpoint which should be reachable by the client. If not set, the s3Endpoint will be used.

''

FILE_TRANSFER_S3_PUBLIC_ENDPOINT

s3Region: string = ...

The region of the S3-compatible storage.

'us-east-1'

FILE_TRANSFER_S3_REGION

s3SecretAccessKey: string = ...

The secret access key of the S3-compatible storage.

We recommend attaching a policy to the user that only allows the following actions:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234:user/my-app"
},
"Action": [
"s3:ListBucket",
"s3:ListBucketVersions"
],
"Resource": "arn:aws:s3:::my-bucket"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234:user/my-app"
},
"Action": [
"s3:PutObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts",
"s3:PutObjectAcl",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
'secretAccessKey'

FILE_TRANSFER_S3_SECRET_ACCESS_KEY

simultaneousFilesPerIp: number = ...

The maximum amount of files an IP address can upload simultaneously.

1

FILE_TRANSFER_SIMULTANEOUS_FILES_PER_IP

storageTimeInMinutes: number = ...

The time in minutes after which a file is deleted.

15

FILE_TRANSFER_STORAGE_TIME_MINUTES

uploadPartTimeInMinutes: number = ...

The time in minutes between each upload part, before the upload is considered failed/timed out.

10

FILE_TRANSFER_UPLOAD_PART_TIME_MINUTES

uploadTimeInMinutes: number = ...

The time in minutes how long a file can be uploaded. This will influence the expiration time of the multipart upload.

120

FILE_TRANSFER_UPLOAD_TIME_MINUTES