Amazon S3 Template Parameters
Reference for all s3-storage-v3 binary provider parameters: bucketName, region, endpoint, encryption, multipart, and authentication modes.
The Amazon S3 Official Amazon SDK template supports the following set of parameters.
Parameter | Description |
|---|---|
bucketName | Your globally unique bucket name. Mandatory parameter |
path | Default: filestore The path relative to the bucket where binary files are stored. |
endpoint | The cloud storage provider’s URL.
|
region | The region offered by your cloud storage provider with which you want to work. Note: When |
type | s3-storage-v3 |
testConnection | Default: true When set to true, the binary provider uploads and downloads a file when Artifactory starts up, to verify that the connection to the cloud storage provider is fully functional. |
identity | Your cloud storage provider identity. |
credential | Your cloud storage provider authentication credential. |
port | The cloud storage providers port. When a port is not assigned and the |
rootFoldersNameLength | Default: 2 The number of initial characters in the object's checksum that should be used to name the folder in storage. This can take any value between 0 - 5.0 means that checksum files will be stored at the root of the object store bucket. For example, if the object's checksum is 8c335149... and |
proxyIdentity | Corresponding parameter if you are accessing the cloud storage provider through a proxy server. |
proxyCredential | Corresponding parameter if you are accessing the cloud storage provider through a proxy server. |
proxyPort | Corresponding parameter if you are accessing the cloud storage provider through a proxy server. |
proxyHost | Corresponding parameter if you are accessing the cloud storage provider through a proxy server. |
nonProxyHost (Available from Artifactory 7.77.6 self-hosted version.) | Corresponding parameter if you are accessing the cloud storage provider through a proxy server. Note: For AWS SDK v2, the value for this parameter must be a string and not regex. Artifactory will search for a non-proxy host that contains the string used here. |
useHttp | Default: false Defines the connection schema. When set to true, you can set a non-secure HTTP connection. |
kmsClientSideEncryptionKeyId (named kmsServerSideEncryptionKeyId prior to Artifactory version 7.31.10) | Default is N/A. Use KMS Encryption client with the given KMS encryption key ID or alias. The name, |
server-side-encryption-aws-kms | Default is N/A. If set to true, S3 encrypts artifacts on the server based on the default KMS key. You can also set it with the encryption key ID or alias instead of true. |
kmsCryptoMode | Default: EncryptionOnly. This only applies to the s3-storage-v3 template. Use KMS encryption with one of the following crypto policies:
For more information, see https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-crypto-kms.html. |
useInstanceCredentials | Default: false. Set to true to use the AWS S3 as your default provider chain according to the authentication mechanism. |
usePresigning | Default: false. When set to true, applies to signed URLs for adding, deleting, and getting client methods on s3 objects.
|
multiPartLimit | Default: 100,000,000 bytes For AWS SDK v1: Only relevant when usePresigning is set to false. For AWS SDK v2: Always relevant. File size threshold (in bytes) over which file uploads are chunked and multi-threaded. |
multipartElementSize | Default:
The chunk size when multiPartLimit is used. If a tag is not set, the default value is applied. |
transferManagerThreads | Default: 10. Applies when usePresigning is set to false This applies to multipart uploads, configured by the multiPartLimit. |
signatureExpirySeconds | Default: 300 Sets the validity period in seconds for signed URLs used internally for uploads and downloads. |
maxConnections | Default: 50. Sets the maximum HTTP client connections for the AWS client |
connectionTimeout | Default: none Sets the connection timeout (in milliseconds) for the AWS client. A value equal to or less than 0 will cause Artifactory to use the clients' default values. |
socketTimeout | Default: 50,000. Sets the socket timeout (in milliseconds) for the AWS client. |
enablePathStyleAccess | Default: false Amazon S3 supports virtual-hosted-style and path-style access in all regions. The path-style syntax requires using the region-specific endpoint when accessing a bucket. For non-AWS users, set this property to true. For CEPH storage, set this property to true. |
disableChunkedEncoding | Default: false The default behavior is to enable chunked encoding automatically for PutObjectRequest and UploadPartRequest. Setting this flag will result in disabling chunked encoding for all requests, which may impact performance. Use this option only if your endpoint does not implement chunked uploading. |
useDeprecatedBucketExistenceCheck | Default: false Setting this property to true will force checking bucket existence based on a HEAD request to the bucket. (Deprecated in AWS) |
enableSignedUrlRedirect | Enables direct cloud storage download. |
signedUrlExpirySeconds | Default: 30 (optional) Specifies the number of seconds that a signed URL provided to a requesting client for direct download from cloud storage is valid.
|
tempDir | A temporary folder into which files are written for internal use by Artifactory. If the value specified starts with a forward slash ("/") the value is considered the full path to the temporary folder. Otherwise, it is considered relative to fileStoreDir under the baseDataDir. Applicable for direct upload only.
|
awsSdkV2 | Default:
Enables or disables the AWS SDK v2 integration. |
blockingDataReadThreads | Default: 15 The number of threads in the dedicated pool for adapting Artifactory's blocking I/O to the SDK's non-blocking clients.
|
crtTargetThroughputInGbps | Default: 10.0 The target network throughput (in Gbps) for the high-performance CRT client. This helps throttle the client on networks with limited bandwidth.
|
connectionAcquisitionTimeout | Default: -1 The connection acquisition timeout for the AWS client in milliseconds. A value equal to or less than 0 causes Artifactory to use the client's default value.
|
disableChecksumValidation | Default: false Disables automatic checksum validation during S3 operations.
|
crtEnableConnectionHealth | Default: false Enables connection health monitoring for the AWS CRT (Common Runtime) S3 client. When set to true, Artifactory actively monitors the health of active S3 connections and drops those that fall below a minimum throughput threshold. This prevents slow or stalled connections from blocking transfers indefinitely. Requires awsSdkV2 to be enabled and the CRT client to be in use. The monitoring behavior is controlled by crtMinimumThroughputInBps and crtMinimumThroughputTimeoutSeconds. Note:
|
crtMinimumThroughputInBps | Default: 5000000 (5 Mbps) The minimum acceptable throughput (in bits per second) for an active S3 connection when connection health monitoring is enabled ( Note:
|
crtMinimumThroughputTimeoutSeconds | Default: 2 The duration (in seconds) a connection must sustain throughput below Note:
|
Related Topics
- Filestore Configuration
- AWS S3 Object Storage
- Artifactory S3 Storage Configuration
- S3 Binary Storage Templates
- Integrate Artifactory with AWS SDK v2 for S3 Storage
- Direct Cloud Storage Download
Frequently Asked Questions
This section provides answers to frequently asked questions.
FAQs
Q: Which parameter is mandatory when configuring the S3 binary provider?
A: The bucketName parameter is mandatory. It must be a globally unique bucket name and cannot be omitted from the provider configuration.
Q: What is the default path inside the S3 bucket where Artifactory stores binaries?
A: The default path is filestore. You can override this by setting the path parameter to any prefix relative to the bucket root.
Q: Does Artifactory verify S3 connectivity at startup?
A: Yes. When testConnection is set to true (the default), Artifactory uploads and downloads a test file at startup to verify that the connection to S3 is fully functional.
Q: What is the size limit when usePresigning is enabled?
A: Enabling usePresigning restricts the maximum upload size to under 5 GB. Note that usePresigning is not supported with AWS SDK v2 — using it with SDK v2 produces a warning and the parameter is ignored. See S3 Binary Storage Templates for template examples.
Q: When should enablePathStyleAccess be set to true?
A: Set enablePathStyleAccess to true for non-AWS S3-compatible providers and for CEPH storage. Path-style access requires using the region-specific endpoint when accessing a bucket, while the default virtual-hosted-style access does not.
